diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index 758fd93d3b..380248266e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs @@ -170,7 +170,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// Circuit code for this connection /// AgentID for the connected agent /// Remote endpoint for this connection - public LLUDPClient(LLUDPServer server, ThrottleRates rates, TokenBucket parentThrottle, uint circuitCode, UUID agentID, IPEndPoint remoteEndPoint, int defaultRTO, int maxRTO) + /// + /// Default retransmission timeout for unacked packets. The RTO will never drop + /// beyond this number. + /// + /// + /// The maximum retransmission timeout for unacked packets. The RTO will never exceed this number. + /// + public LLUDPClient( + LLUDPServer server, ThrottleRates rates, TokenBucket parentThrottle, uint circuitCode, UUID agentID, + IPEndPoint remoteEndPoint, int defaultRTO, int maxRTO) { AgentID = agentID; RemoteEndPoint = remoteEndPoint; @@ -198,7 +207,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_throttleCategories[i] = new TokenBucket(m_throttleCategory, rates.GetRate(type)); } - // Default the retransmission timeout to three seconds + // Default the retransmission timeout to one second RTO = m_defaultRTO; // Initialize this to a sane value to prevent early disconnects @@ -263,9 +272,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// /// Return statistics information about client packet queues. /// - /// + /// /// FIXME: This should really be done in a more sensible manner rather than sending back a formatted string. - /// + /// /// public string GetStats() { @@ -616,8 +625,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// Does an early check to see if this queue empty callback is already /// running, then asynchronously firing the event /// - /// Throttle category to fire the callback - /// for + /// Throttle categories to fire the callback for private void BeginFireQueueEmpty(ThrottleOutPacketTypeFlags categories) { if (m_nextOnQueueEmpty != 0 && (Environment.TickCount & Int32.MaxValue) >= m_nextOnQueueEmpty) @@ -704,4 +712,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } } -} +} \ No newline at end of file diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index d5b061b1f1..ae8251ae2e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs @@ -324,7 +324,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// /// /// - public void SendPacket(LLUDPClient udpClient, Packet packet, ThrottleOutPacketType category, bool allowSplitting, UnackedPacketMethod method) + /// + /// The method to call if the packet is not acked by the client. If null, then a standard + /// resend of the packet is done. + /// + public void SendPacket( + LLUDPClient udpClient, Packet packet, ThrottleOutPacketType category, bool allowSplitting, UnackedPacketMethod method) { // CoarseLocationUpdate packets cannot be split in an automated way if (packet.Type == PacketType.CoarseLocationUpdate && allowSplitting) @@ -357,8 +362,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// /// /// - /// - public void SendPacketData(LLUDPClient udpClient, byte[] data, PacketType type, ThrottleOutPacketType category, UnackedPacketMethod method) + /// + /// + /// The method to call if the packet is not acked by the client. If null, then a standard + /// resend of the packet is done. + /// + public void SendPacketData( + LLUDPClient udpClient, byte[] data, PacketType type, ThrottleOutPacketType category, UnackedPacketMethod method) { int dataLength = data.Length; bool doZerocode = (data[0] & Helpers.MSG_ZEROCODED) != 0; @@ -1102,7 +1112,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP { m_log.Error("[LLUDPSERVER]: OutgoingPacketHandler loop threw an exception: " + ex.Message, ex); } - } Watchdog.RemoveThread(); diff --git a/OpenSim/Region/ClientStack/Linden/UDP/UnackedPacketCollection.cs b/OpenSim/Region/ClientStack/Linden/UDP/UnackedPacketCollection.cs index 793aefe6e5..6b1d7d2658 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/UnackedPacketCollection.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/UnackedPacketCollection.cs @@ -118,12 +118,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// Returns a list of all of the packets with a TickCount older than /// the specified timeout /// + /// + /// This function is not thread safe, and cannot be called + /// multiple times concurrently + /// /// Number of ticks (milliseconds) before a - /// packet is considered expired - /// A list of all expired packets according to the given - /// expiration timeout - /// This function is not thread safe, and cannot be called - /// multiple times concurrently + /// packet is considered expired + /// + /// + /// A list of all expired packets according to the given + /// expiration timeout + /// public List GetExpiredPackets(int timeoutMS) { ProcessQueues(); @@ -216,4 +221,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } } -} +} \ No newline at end of file