C# Класс Universe.ClientStack.LLUDPServer

The LLUDP server for a region. This handles incoming and outgoing packets for all UDP connections to the region
Наследование: UDPBase, IClientNetworkServer
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
AvatarUpdatesPerCallBack int
ClientTimeOut int
PacketLog PacketLogger
PrimUpdatesPerCallback int
TextureSendLimit int
TickCountResolution float
m_circuitManager Universe.Framework.SceneInfo.AgentCircuitManager
m_scene IScene

Защищенные свойства (Protected)

Свойство Тип Описание
m_shouldCollectStats bool
m_throttle TokenBucket
m_throttleRates ThrottleRates

Открытые методы

Метод Описание
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

Защищенные методы

Метод Описание
LogoutHandler ( IClientAPI client ) : void
PacketReceived ( UDPPacketBuffer buffer ) : void

Приватные методы

Метод Описание
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

Описание методов

AddClient() публичный Метод

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
Результат bool

AddScene() публичный Метод

public AddScene ( IScene scene ) : void
scene IScene
Результат void

BroadcastPacket() публичный Метод

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
Результат void

ClientOutgoingPacketHandler() публичный Метод

public ClientOutgoingPacketHandler ( IClientAPI client ) : void
client IClientAPI
Результат void

CloseThreadPool() публичный Метод

public CloseThreadPool ( ) : void
Результат void

CompletePing() публичный Метод

public CompletePing ( LLUDPClient udpClient, byte pingID ) : void
udpClient LLUDPClient
pingID byte
Результат void

Copy() публичный Метод

public Copy ( ) : IClientNetworkServer
Результат IClientNetworkServer

FireAndForget() публичный Метод

public FireAndForget ( Action callback, object obj ) : void
callback Action
obj object
Результат void

Flush() публичный Метод

public Flush ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
Результат void

ForEachInternalClient() публичный Метод

public ForEachInternalClient ( Action action ) : void
action Action
Результат void

HandleUseCircuitCode() публичный Метод

public HandleUseCircuitCode ( object o ) : void
o object
Результат void

InitThreadPool() публичный Метод

public InitThreadPool ( int maxThreads ) : void
maxThreads int
Результат void

Initialize() публичный Метод

public Initialize ( uint port, IConfigSource configSource, AgentCircuitManager circuitManager ) : void
port uint
configSource IConfigSource
circuitManager Universe.Framework.SceneInfo.AgentCircuitManager
Результат void

LogPacketHeader() публичный статический Метод

public static LogPacketHeader ( bool incoming, uint circuit, byte flags, PacketType packetType, ushort size ) : void
incoming bool
circuit uint
flags byte
packetType PacketType
size ushort
Результат void

LogoutHandler() защищенный Метод

protected LogoutHandler ( IClientAPI client ) : void
client IClientAPI
Результат void

PacketReceived() защищенный Метод

protected PacketReceived ( UDPPacketBuffer buffer ) : void
buffer UDPPacketBuffer
Результат void

ProcessInPacket() публичный Метод

public ProcessInPacket ( object state ) : void
state object
Результат void

RemoveClient() публичный Метод

public RemoveClient ( IClientAPI client ) : void
client IClientAPI
Результат void

RemoveClient() публичный Метод

public RemoveClient ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
Результат void

ResendUnacked() публичный Метод

public ResendUnacked ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
Результат void

SendAckImmediate() публичный Метод

public SendAckImmediate ( IPEndPoint remoteEndpoint, uint sequenceNumber ) : void
remoteEndpoint System.Net.IPEndPoint
sequenceNumber uint
Результат void

SendAcks() публичный Метод

public SendAcks ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
Результат void

SendPacket() публичный Метод

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
Результат void

SendPacketData() публичный Метод

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
Результат void

SendPing() публичный Метод

public SendPing ( LLUDPClient udpClient ) : void
udpClient LLUDPClient
Результат void

Start() публичный Метод

public Start ( ) : void
Результат void

Stop() публичный Метод

public Stop ( ) : void
Результат void

UpdatePort() публичный Метод

public UpdatePort ( uint port ) : void
port uint
Результат void

Описание свойств

AvatarUpdatesPerCallBack публичное свойство

Number of avatar update packets to put on the queue each time the OnQueueEmpty event is triggered
public int AvatarUpdatesPerCallBack
Результат int

ClientTimeOut публичное свойство

public int ClientTimeOut
Результат int

PacketLog публичное статическое свойство

public static PacketLogger PacketLog
Результат PacketLogger

PrimUpdatesPerCallback публичное свойство

Number of prim updates to put on the queue each time the OnQueueEmpty event is triggered for updates
public int PrimUpdatesPerCallback
Результат int

TextureSendLimit публичное свойство

Number of texture packets to put on the queue each time the OnQueueEmpty event is triggered for textures
public int TextureSendLimit
Результат int

TickCountResolution публичное свойство

The measured resolution of Environment.TickCount
public float TickCountResolution
Результат float

m_circuitManager публичное свойство

Manages authentication for agent circuits
public AgentCircuitManager,Universe.Framework.SceneInfo m_circuitManager
Результат Universe.Framework.SceneInfo.AgentCircuitManager

m_scene публичное свойство

Reference to the scene this UDP server is attached to
public IScene m_scene
Результат IScene

m_shouldCollectStats защищенное статическое свойство

protected static bool m_shouldCollectStats
Результат bool

m_throttle защищенное свойство

Bandwidth throttle for this UDP server
protected TokenBucket m_throttle
Результат TokenBucket

m_throttleRates защищенное свойство

Bandwidth throttle rates for this UDP server
protected ThrottleRates,Universe.ClientStack m_throttleRates
Результат ThrottleRates