Property | Type | Description | |
---|---|---|---|
AgentID | UUID | ||
BytesSinceLastACK | int | ||
CircuitCode | uint | ||
CurrentPingSequence | byte | ||
CurrentSequence | int | ||
IsConnected | bool | ||
IsPaused | bool | ||
NeedAcks | |||
PacketArchive | OpenSim.Region.ClientStack.LindenUDP.IncomingPacketHistoryCollection | ||
PacketsReceived | int | ||
PacketsSent | int | ||
PendingAcks | OpenSim.Framework.LocklessQueue |
||
RTO | int | ||
RTTVAR | float | ||
RemoteEndPoint | |||
SRTT | float | ||
TickLastPacketReceived | int | ||
UnackedBytes | int |
Method | Description | |
---|---|---|
BackoffRTO ( ) : void |
Exponential backoff of the retransmission timeout, per section 5.5 of RFC 2988
|
|
DequeueOutgoing ( ) : bool |
Loops through all of the packet queues for this client and tries to send an outgoing packet from each, obeying the throttling bucket limits This function is only called from a synchronous loop in the UDPServer so we don't need to bother making this thread safe |
|
EnqueueOutgoing ( OpenSim.Region.ClientStack.LindenUDP.OutgoingPacket packet ) : bool | ||
GetClientInfo ( ) : |
Gets information about this client connection
|
|
GetStats ( ) : string | ||
GetThrottlesPacked ( ) : byte[] | ||
LLUDPClient ( |
Default constructor
|
|
SendPacketStats ( ) : void | ||
SetClientInfo ( |
Modifies the UDP throttles
|
|
SetThrottles ( byte throttleData ) : void | ||
Shutdown ( ) : void |
Shuts down this client connection
|
|
UpdateRoundTrip ( float r ) : void |
Called when an ACK packet is received and a round-trip time for a packet is calculated. This is used to calculate the smoothed round-trip time, round trip time variance, and finally the retransmission timeout
|
Method | Description | |
---|---|---|
BeginFireQueueEmpty ( ThrottleOutPacketTypeFlags categories ) : void |
Does an early check to see if this queue empty callback is already running, then asynchronously firing the event
|
|
CategoryToFlag ( int i ) : ThrottleOutPacketTypeFlags |
Converts a ThrottleOutPacketType integer to a flag value
|
|
FireQueueEmpty ( object o ) : void |
Fires the OnQueueEmpty callback and sets the minimum time that it can be called again
|
public EnqueueOutgoing ( OpenSim.Region.ClientStack.LindenUDP.OutgoingPacket packet ) : bool | ||
packet | OpenSim.Region.ClientStack.LindenUDP.OutgoingPacket | |
return | bool |
public GetClientInfo ( ) : |
||
return |
public LLUDPClient ( |
||
server | Reference to the UDP server this client is connected to | |
rates | OpenSim.Region.ClientStack.LindenUDP.ThrottleRates | Default throttling rates and maximum throttle limits |
parentThrottle | OpenSim.Region.ClientStack.LindenUDP.TokenBucket | Parent HTB (hierarchical token bucket) /// that the child throttles will be governed by |
circuitCode | uint | Circuit code for this connection |
agentID | UUID | AgentID for the connected agent |
remoteEndPoint | Remote endpoint for this connection | |
defaultRTO | int | |
maxRTO | int | |
return | System |
public SetClientInfo ( |
||
info | New throttling values | |
return | void |
public SetThrottles ( byte throttleData ) : void | ||
throttleData | byte | |
return | void |
public UpdateRoundTrip ( float r ) : void | ||
r | float | Round-trip time of a single packet and its /// acknowledgement |
return | void |
public UnackedPacketCollection,OpenSim.Region.ClientStack.LindenUDP NeedAcks | ||
return |
public IncomingPacketHistoryCollection,OpenSim.Region.ClientStack.LindenUDP PacketArchive | ||
return | OpenSim.Region.ClientStack.LindenUDP.IncomingPacketHistoryCollection |
public LocklessQueue |
||
return | OpenSim.Framework.LocklessQueue |
public IPEndPoint,System.Net RemoteEndPoint | ||
return |