C# Class Universe.ClientStack.LLUDPServer

The LLUDP server for a region. This handles incoming and outgoing packets for all UDP connections to the region
Inheritance: UDPBase, IClientNetworkServer
显示文件 Open project: Virtual-Universe/Virtual-Universe Class Usage Examples

Public Properties

Property Type Description
AvatarUpdatesPerCallBack int
ClientTimeOut int
PacketLog PacketLogger
PrimUpdatesPerCallback int
TextureSendLimit int
TickCountResolution float
m_circuitManager Universe.Framework.SceneInfo.AgentCircuitManager
m_scene IScene

Protected Properties

Property Type Description
m_shouldCollectStats bool
m_throttle TokenBucket
m_throttleRates ThrottleRates

Public Methods

Method Description
AddClient ( uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AgentCircuitData sessionInfo ) : bool
AddScene ( IScene scene ) : void
BroadcastPacket ( Packet packet, ThrottleOutPacketType category, bool sendToPausedAgents, bool allowSplitting, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
ClientOutgoingPacketHandler ( IClientAPI client ) : void
CloseThreadPool ( ) : void
CompletePing ( LLUDPClient udpClient, byte pingID ) : void
Copy ( ) : IClientNetworkServer
FireAndForget ( Action callback, object obj ) : void
Flush ( LLUDPClient udpClient ) : void
ForEachInternalClient ( Action action ) : void
HandleUseCircuitCode ( object o ) : void
InitThreadPool ( int maxThreads ) : void
Initialize ( uint port, IConfigSource configSource, AgentCircuitManager circuitManager ) : void
LogPacketHeader ( bool incoming, uint circuit, byte flags, PacketType packetType, ushort size ) : void
ProcessInPacket ( object state ) : void
RemoveClient ( IClientAPI client ) : void
RemoveClient ( LLUDPClient udpClient ) : void
ResendUnacked ( LLUDPClient udpClient ) : void
SendAckImmediate ( IPEndPoint remoteEndpoint, uint sequenceNumber ) : void
SendAcks ( LLUDPClient udpClient ) : void
SendPacket ( LLUDPClient udpClient, Packet packet, ThrottleOutPacketType category, bool allowSplitting, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
SendPacketData ( LLUDPClient udpClient, byte data, Packet packet, ThrottleOutPacketType category, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
SendPing ( LLUDPClient udpClient ) : void
Start ( ) : void
Stop ( ) : void
UpdatePort ( uint port ) : void

Protected Methods

Method Description
LogoutHandler ( IClientAPI client ) : void
PacketReceived ( UDPPacketBuffer buffer ) : void

Private Methods

Method Description
IncomingPacketHandlerLoop ( ) : bool
IsClientAuthorized ( UseCircuitCodePacket useCircuitCode, IPEndPoint remoteEndPoint, AgentCircuitData &sessionInfo ) : bool
OutgoingPacketHandlerLoop ( ) : bool
SendPacketFinal ( OutgoingPacket outgoingPacket ) : void

Actually send a packet to a client.

SmartThreadPoolCallback ( object o ) : object

Method Details

AddClient() public method

public AddClient ( uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AgentCircuitData sessionInfo ) : bool
circuitCode uint
agentID UUID
sessionID UUID
remoteEndPoint System.Net.IPEndPoint
sessionInfo Universe.Framework.PresenceInfo.AgentCircuitData
return bool

AddScene() public method

public AddScene ( IScene scene ) : void
scene IScene
return void

BroadcastPacket() public method

public BroadcastPacket ( Packet packet, ThrottleOutPacketType category, bool sendToPausedAgents, bool allowSplitting, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
packet OpenMetaverse.Packets.Packet
category ThrottleOutPacketType
sendToPausedAgents bool
allowSplitting bool
resendMethod UnackedPacketMethod
finishedMethod UnackedPacketMethod
return void

ClientOutgoingPacketHandler() public method

public ClientOutgoingPacketHandler ( IClientAPI client ) : void
client IClientAPI
return void

CloseThreadPool() public method

public CloseThreadPool ( ) : void
return void

CompletePing() public method

public CompletePing ( LLUDPClient udpClient, byte pingID ) : void
udpClient LLUDPClient
pingID byte
return void

Copy() public method

public Copy ( ) : IClientNetworkServer
return IClientNetworkServer

FireAndForget() public method

public FireAndForget ( Action callback, object obj ) : void
callback Action
obj object
return void

Flush() public method

public Flush ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
return void

ForEachInternalClient() public method

public ForEachInternalClient ( Action action ) : void
action Action
return void

HandleUseCircuitCode() public method

public HandleUseCircuitCode ( object o ) : void
o object
return void

InitThreadPool() public method

public InitThreadPool ( int maxThreads ) : void
maxThreads int
return void

Initialize() public method

public Initialize ( uint port, IConfigSource configSource, AgentCircuitManager circuitManager ) : void
port uint
configSource IConfigSource
circuitManager Universe.Framework.SceneInfo.AgentCircuitManager
return void

LogPacketHeader() public static method

public static LogPacketHeader ( bool incoming, uint circuit, byte flags, PacketType packetType, ushort size ) : void
incoming bool
circuit uint
flags byte
packetType PacketType
size ushort
return void

LogoutHandler() protected method

protected LogoutHandler ( IClientAPI client ) : void
client IClientAPI
return void

PacketReceived() protected method

protected PacketReceived ( UDPPacketBuffer buffer ) : void
buffer UDPPacketBuffer
return void

ProcessInPacket() public method

public ProcessInPacket ( object state ) : void
state object
return void

RemoveClient() public method

public RemoveClient ( IClientAPI client ) : void
client IClientAPI
return void

RemoveClient() public method

public RemoveClient ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
return void

ResendUnacked() public method

public ResendUnacked ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
return void

SendAckImmediate() public method

public SendAckImmediate ( IPEndPoint remoteEndpoint, uint sequenceNumber ) : void
remoteEndpoint System.Net.IPEndPoint
sequenceNumber uint
return void

SendAcks() public method

public SendAcks ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
return void

SendPacket() public method

public SendPacket ( LLUDPClient udpClient, Packet packet, ThrottleOutPacketType category, bool allowSplitting, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
udpClient LLUDPClient
packet OpenMetaverse.Packets.Packet
category ThrottleOutPacketType
allowSplitting bool
resendMethod UnackedPacketMethod
finishedMethod UnackedPacketMethod
return void

SendPacketData() public method

public SendPacketData ( LLUDPClient udpClient, byte data, Packet packet, ThrottleOutPacketType category, UnackedPacketMethod resendMethod, UnackedPacketMethod finishedMethod ) : void
udpClient LLUDPClient
data byte
packet OpenMetaverse.Packets.Packet
category ThrottleOutPacketType
resendMethod UnackedPacketMethod
finishedMethod UnackedPacketMethod
return void

SendPing() public method

public SendPing ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
return void

Start() public method

public Start ( ) : void
return void

Stop() public method

public Stop ( ) : void
return void

UpdatePort() public method

public UpdatePort ( uint port ) : void
port uint
return void

Property Details

AvatarUpdatesPerCallBack public_oe property

Number of avatar update packets to put on the queue each time the OnQueueEmpty event is triggered
public int AvatarUpdatesPerCallBack
return int

ClientTimeOut public_oe property

public int ClientTimeOut
return int

PacketLog public_oe static_oe property

public static PacketLogger PacketLog
return PacketLogger

PrimUpdatesPerCallback public_oe property

Number of prim updates to put on the queue each time the OnQueueEmpty event is triggered for updates
public int PrimUpdatesPerCallback
return int

TextureSendLimit public_oe property

Number of texture packets to put on the queue each time the OnQueueEmpty event is triggered for textures
public int TextureSendLimit
return int

TickCountResolution public_oe property

The measured resolution of Environment.TickCount
public float TickCountResolution
return float

m_circuitManager public_oe property

Manages authentication for agent circuits
public AgentCircuitManager,Universe.Framework.SceneInfo m_circuitManager
return Universe.Framework.SceneInfo.AgentCircuitManager

m_scene public_oe property

Reference to the scene this UDP server is attached to
public IScene m_scene
return IScene

m_shouldCollectStats protected_oe static_oe property

protected static bool m_shouldCollectStats
return bool

m_throttle protected_oe property

Bandwidth throttle for this UDP server
protected TokenBucket m_throttle
return TokenBucket

m_throttleRates protected_oe property

Bandwidth throttle rates for this UDP server
protected ThrottleRates,Universe.ClientStack m_throttleRates
return ThrottleRates