diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 66 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs | 14 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 18 |
3 files changed, 49 insertions, 49 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index b14b3db..3c24fb6 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -230,7 +230,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
230 | 230 | ||
231 | private RegionHandleRequest handlerRegionHandleRequest = null; // OnRegionHandleRequest | 231 | private RegionHandleRequest handlerRegionHandleRequest = null; // OnRegionHandleRequest |
232 | private ParcelInfoRequest handlerParcelInfoRequest = null; // OnParcelInfoRequest | 232 | private ParcelInfoRequest handlerParcelInfoRequest = null; // OnParcelInfoRequest |
233 | 233 | ||
234 | private ScriptAnswer handlerScriptAnswer = null; | 234 | private ScriptAnswer handlerScriptAnswer = null; |
235 | private RequestPayPrice handlerRequestPayPrice = null; | 235 | private RequestPayPrice handlerRequestPayPrice = null; |
236 | private ObjectDeselect handlerObjectDetach = null; | 236 | private ObjectDeselect handlerObjectDetach = null; |
@@ -366,7 +366,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
366 | 366 | ||
367 | public LLClientView(EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer, | 367 | public LLClientView(EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer, |
368 | AgentCircuitManager authenSessions, LLUUID agentId, LLUUID sessionId, uint circuitCode, EndPoint proxyEP) | 368 | AgentCircuitManager authenSessions, LLUUID agentId, LLUUID sessionId, uint circuitCode, EndPoint proxyEP) |
369 | { | 369 | { |
370 | m_moneyBalance = 1000; | 370 | m_moneyBalance = 1000; |
371 | 371 | ||
372 | m_channelVersion = Helpers.StringToField(scene.GetSimulatorVersion()); | 372 | m_channelVersion = Helpers.StringToField(scene.GetSimulatorVersion()); |
@@ -378,7 +378,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
378 | 378 | ||
379 | m_networkServer = packServer; | 379 | m_networkServer = packServer; |
380 | // m_inventoryCache = inventoryCache; | 380 | // m_inventoryCache = inventoryCache; |
381 | m_authenticateSessionsHandler = authenSessions; | 381 | m_authenticateSessionsHandler = authenSessions; |
382 | 382 | ||
383 | m_agentId = agentId; | 383 | m_agentId = agentId; |
384 | m_sessionId = sessionId; | 384 | m_sessionId = sessionId; |
@@ -404,8 +404,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
404 | m_clientThread.IsBackground = true; | 404 | m_clientThread.IsBackground = true; |
405 | m_clientThread.Start(); | 405 | m_clientThread.Start(); |
406 | ThreadTracker.Add(m_clientThread); | 406 | ThreadTracker.Add(m_clientThread); |
407 | 407 | ||
408 | m_log.Info("[CLIENT]: Started up new thread to handle client UDP session"); | 408 | m_log.Info("[CLIENT]: Started up new thread to handle client UDP session"); |
409 | } | 409 | } |
410 | 410 | ||
411 | public void SetDebug(int newDebug) | 411 | public void SetDebug(int newDebug) |
@@ -457,9 +457,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
457 | public void Close(bool shutdownCircuit) | 457 | public void Close(bool shutdownCircuit) |
458 | { | 458 | { |
459 | m_log.DebugFormat( | 459 | m_log.DebugFormat( |
460 | "[CLIENT]: Close has been called with shutdownCircuit = {0} on scene {1}", | 460 | "[CLIENT]: Close has been called with shutdownCircuit = {0} on scene {1}", |
461 | shutdownCircuit, m_scene.RegionInfo.RegionName); | 461 | shutdownCircuit, m_scene.RegionInfo.RegionName); |
462 | 462 | ||
463 | m_PacketHandler.Flush(); | 463 | m_PacketHandler.Flush(); |
464 | 464 | ||
465 | // raise an event on the packet server to Shutdown the circuit | 465 | // raise an event on the packet server to Shutdown the circuit |
@@ -639,7 +639,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
639 | # endregion | 639 | # endregion |
640 | 640 | ||
641 | protected int m_terrainCheckerCount = 0; | 641 | protected int m_terrainCheckerCount = 0; |
642 | 642 | ||
643 | /// <summary> | 643 | /// <summary> |
644 | /// Event handler for check client timer | 644 | /// Event handler for check client timer |
645 | /// Checks to ensure that the client is still connected. If the client has failed to respond to many pings | 645 | /// Checks to ensure that the client is still connected. If the client has failed to respond to many pings |
@@ -652,15 +652,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
652 | if (m_PacketHandler.PacketsReceived == m_PacketHandler.PacketsReceivedReported) | 652 | if (m_PacketHandler.PacketsReceived == m_PacketHandler.PacketsReceivedReported) |
653 | { | 653 | { |
654 | m_probesWithNoIngressPackets++; | 654 | m_probesWithNoIngressPackets++; |
655 | if ((m_probesWithNoIngressPackets > 30 && !m_clientBlocked) | 655 | if ((m_probesWithNoIngressPackets > 30 && !m_clientBlocked) |
656 | || (m_probesWithNoIngressPackets > 90 && m_clientBlocked)) | 656 | || (m_probesWithNoIngressPackets > 90 && m_clientBlocked)) |
657 | { | 657 | { |
658 | if (OnConnectionClosed != null) | 658 | if (OnConnectionClosed != null) |
659 | { | 659 | { |
660 | m_log.WarnFormat( | 660 | m_log.WarnFormat( |
661 | "[CLIENT]: Client for agent {0} {1} has stopped responding to pings. Closing connection", | 661 | "[CLIENT]: Client for agent {0} {1} has stopped responding to pings. Closing connection", |
662 | Name, AgentId); | 662 | Name, AgentId); |
663 | 663 | ||
664 | OnConnectionClosed(this); | 664 | OnConnectionClosed(this); |
665 | } | 665 | } |
666 | } | 666 | } |
@@ -694,7 +694,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
694 | m_clientPingTimer = new Timer(5000); | 694 | m_clientPingTimer = new Timer(5000); |
695 | m_clientPingTimer.Elapsed += new ElapsedEventHandler(CheckClientConnectivity); | 695 | m_clientPingTimer.Elapsed += new ElapsedEventHandler(CheckClientConnectivity); |
696 | m_clientPingTimer.Enabled = true; | 696 | m_clientPingTimer.Enabled = true; |
697 | 697 | ||
698 | m_scene.AddNewClient(this, true); | 698 | m_scene.AddNewClient(this, true); |
699 | } | 699 | } |
700 | 700 | ||
@@ -764,7 +764,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
764 | 764 | ||
765 | LLQueItem item = new LLQueItem(); | 765 | LLQueItem item = new LLQueItem(); |
766 | item.Packet = packet; | 766 | item.Packet = packet; |
767 | 767 | ||
768 | m_PacketHandler.ProcessOutPacket(item); | 768 | m_PacketHandler.ProcessOutPacket(item); |
769 | 769 | ||
770 | // There may be a better way to do this. Perhaps kick? Not sure this propogates notifications to | 770 | // There may be a better way to do this. Perhaps kick? Not sure this propogates notifications to |
@@ -1091,7 +1091,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1091 | for (int y = 0; y < 16; y++) | 1091 | for (int y = 0; y < 16; y++) |
1092 | { | 1092 | { |
1093 | // For some terrains, sending more than one terrain patch at once results in a libsecondlife exception | 1093 | // For some terrains, sending more than one terrain patch at once results in a libsecondlife exception |
1094 | // see http://opensimulator.org/mantis/view.php?id=1662 | 1094 | // see http://opensimulator.org/mantis/view.php?id=1662 |
1095 | //for (int x = 0; x < 16; x += 4) | 1095 | //for (int x = 0; x < 16; x += 4) |
1096 | //{ | 1096 | //{ |
1097 | // SendLayerPacket(map, y, x); | 1097 | // SendLayerPacket(map, y, x); |
@@ -1113,7 +1113,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1113 | /// <summary> | 1113 | /// <summary> |
1114 | /// Sends a set of four patches (x, x+1, ..., x+3) to the client | 1114 | /// Sends a set of four patches (x, x+1, ..., x+3) to the client |
1115 | /// </summary> | 1115 | /// </summary> |
1116 | /// <param name="map">heightmap</param> | 1116 | /// <param name="map">heightmap</param> |
1117 | /// <param name="px">X coordinate for patches 0..12</param> | 1117 | /// <param name="px">X coordinate for patches 0..12</param> |
1118 | /// <param name="py">Y coordinate for patches 0..15</param> | 1118 | /// <param name="py">Y coordinate for patches 0..15</param> |
1119 | // private void SendLayerPacket(float[] map, int y, int x) | 1119 | // private void SendLayerPacket(float[] map, int y, int x) |
@@ -1147,7 +1147,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1147 | 1147 | ||
1148 | LayerDataPacket layerpack = LLClientView.TerrainManager.CreateLandPacket(map, patches); | 1148 | LayerDataPacket layerpack = LLClientView.TerrainManager.CreateLandPacket(map, patches); |
1149 | layerpack.Header.Zerocoded = true; | 1149 | layerpack.Header.Zerocoded = true; |
1150 | 1150 | ||
1151 | OutPacket(layerpack, ThrottleOutPacketType.Land); | 1151 | OutPacket(layerpack, ThrottleOutPacketType.Land); |
1152 | } | 1152 | } |
1153 | catch (Exception e) | 1153 | catch (Exception e) |
@@ -1157,7 +1157,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1157 | } | 1157 | } |
1158 | 1158 | ||
1159 | /// <summary> | 1159 | /// <summary> |
1160 | /// Tell the client that the given neighbour region is ready to receive a child agent. | 1160 | /// Tell the client that the given neighbour region is ready to receive a child agent. |
1161 | /// </summary> | 1161 | /// </summary> |
1162 | /// <param name="neighbourHandle"></param> | 1162 | /// <param name="neighbourHandle"></param> |
1163 | /// <param name="neighbourIP"></param> | 1163 | /// <param name="neighbourIP"></param> |
@@ -3405,7 +3405,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3405 | } | 3405 | } |
3406 | 3406 | ||
3407 | /// <summary> | 3407 | /// <summary> |
3408 | /// | 3408 | /// |
3409 | /// </summary> | 3409 | /// </summary> |
3410 | /// <param name="client"></param> | 3410 | /// <param name="client"></param> |
3411 | /// <returns></returns> | 3411 | /// <returns></returns> |
@@ -3682,7 +3682,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3682 | 3682 | ||
3683 | /// <summary> | 3683 | /// <summary> |
3684 | /// returns a byte array of the client set throttles Gets multiplied by the multiplier | 3684 | /// returns a byte array of the client set throttles Gets multiplied by the multiplier |
3685 | /// | 3685 | /// |
3686 | /// </summary> | 3686 | /// </summary> |
3687 | /// <param name="multiplier">non 1 multiplier for subdividing the throttles between individual regions</param> | 3687 | /// <param name="multiplier">non 1 multiplier for subdividing the throttles between individual regions</param> |
3688 | /// <returns></returns> | 3688 | /// <returns></returns> |
@@ -3691,7 +3691,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3691 | return m_PacketHandler.PacketQueue.GetThrottlesPacked(multiplier); | 3691 | return m_PacketHandler.PacketQueue.GetThrottlesPacked(multiplier); |
3692 | } | 3692 | } |
3693 | /// <summary> | 3693 | /// <summary> |
3694 | /// sets the throttles from values supplied by the client | 3694 | /// sets the throttles from values supplied by the client |
3695 | /// </summary> | 3695 | /// </summary> |
3696 | /// <param name="throttles"></param> | 3696 | /// <param name="throttles"></param> |
3697 | public void SetChildAgentThrottle(byte[] throttles) | 3697 | public void SetChildAgentThrottle(byte[] throttles) |
@@ -5291,24 +5291,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5291 | 5291 | ||
5292 | case PacketType.RegionHandleRequest: | 5292 | case PacketType.RegionHandleRequest: |
5293 | RegionHandleRequestPacket rhrPack = (RegionHandleRequestPacket)Pack; | 5293 | RegionHandleRequestPacket rhrPack = (RegionHandleRequestPacket)Pack; |
5294 | 5294 | ||
5295 | handlerRegionHandleRequest = OnRegionHandleRequest; | 5295 | handlerRegionHandleRequest = OnRegionHandleRequest; |
5296 | if (handlerRegionHandleRequest != null) | 5296 | if (handlerRegionHandleRequest != null) |
5297 | { | 5297 | { |
5298 | handlerRegionHandleRequest(this, rhrPack.RequestBlock.RegionID); | 5298 | handlerRegionHandleRequest(this, rhrPack.RequestBlock.RegionID); |
5299 | } | 5299 | } |
5300 | break; | 5300 | break; |
5301 | 5301 | ||
5302 | case PacketType.ParcelInfoRequest: | 5302 | case PacketType.ParcelInfoRequest: |
5303 | ParcelInfoRequestPacket pirPack = (ParcelInfoRequestPacket)Pack; | 5303 | ParcelInfoRequestPacket pirPack = (ParcelInfoRequestPacket)Pack; |
5304 | 5304 | ||
5305 | handlerParcelInfoRequest = OnParcelInfoRequest; | 5305 | handlerParcelInfoRequest = OnParcelInfoRequest; |
5306 | if (handlerParcelInfoRequest != null) | 5306 | if (handlerParcelInfoRequest != null) |
5307 | { | 5307 | { |
5308 | handlerParcelInfoRequest(this, pirPack.Data.ParcelID); | 5308 | handlerParcelInfoRequest(this, pirPack.Data.ParcelID); |
5309 | } | 5309 | } |
5310 | break; | 5310 | break; |
5311 | 5311 | ||
5312 | case PacketType.ParcelAccessListRequest: | 5312 | case PacketType.ParcelAccessListRequest: |
5313 | ParcelAccessListRequestPacket requestPacket = (ParcelAccessListRequestPacket)Pack; | 5313 | ParcelAccessListRequestPacket requestPacket = (ParcelAccessListRequestPacket)Pack; |
5314 | 5314 | ||
@@ -6277,10 +6277,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6277 | } | 6277 | } |
6278 | 6278 | ||
6279 | #endregion | 6279 | #endregion |
6280 | 6280 | ||
6281 | 6281 | ||
6282 | #region Camera | 6282 | #region Camera |
6283 | 6283 | ||
6284 | public void SendSetFollowCamProperties (LLUUID objectID, SortedDictionary<int, float> parameters) | 6284 | public void SendSetFollowCamProperties (LLUUID objectID, SortedDictionary<int, float> parameters) |
6285 | { | 6285 | { |
6286 | SetFollowCamPropertiesPacket packet = (SetFollowCamPropertiesPacket)PacketPool.Instance.GetPacket(PacketType.SetFollowCamProperties); | 6286 | SetFollowCamPropertiesPacket packet = (SetFollowCamPropertiesPacket)PacketPool.Instance.GetPacket(PacketType.SetFollowCamProperties); |
@@ -6292,7 +6292,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6292 | SetFollowCamPropertiesPacket.CameraPropertyBlock block = new SetFollowCamPropertiesPacket.CameraPropertyBlock(); | 6292 | SetFollowCamPropertiesPacket.CameraPropertyBlock block = new SetFollowCamPropertiesPacket.CameraPropertyBlock(); |
6293 | block.Type = pair.Key; | 6293 | block.Type = pair.Key; |
6294 | block.Value = pair.Value; | 6294 | block.Value = pair.Value; |
6295 | 6295 | ||
6296 | camPropBlock[idx++] = block; | 6296 | camPropBlock[idx++] = block; |
6297 | } | 6297 | } |
6298 | packet.CameraProperty = camPropBlock; | 6298 | packet.CameraProperty = camPropBlock; |
@@ -6314,7 +6314,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6314 | reply.ReplyBlock.RegionHandle = handle; | 6314 | reply.ReplyBlock.RegionHandle = handle; |
6315 | OutPacket(reply, ThrottleOutPacketType.Land); | 6315 | OutPacket(reply, ThrottleOutPacketType.Land); |
6316 | } | 6316 | } |
6317 | 6317 | ||
6318 | public void SendParcelInfo(RegionInfo info, LandData land, LLUUID parcelID, uint x, uint y) | 6318 | public void SendParcelInfo(RegionInfo info, LandData land, LLUUID parcelID, uint x, uint y) |
6319 | { | 6319 | { |
6320 | ParcelInfoReplyPacket reply = (ParcelInfoReplyPacket)PacketPool.Instance.GetPacket(PacketType.ParcelInfoReply); | 6320 | ParcelInfoReplyPacket reply = (ParcelInfoReplyPacket)PacketPool.Instance.GetPacket(PacketType.ParcelInfoReply); |
@@ -6325,16 +6325,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6325 | reply.Data.Desc = Helpers.StringToField(land.Description); | 6325 | reply.Data.Desc = Helpers.StringToField(land.Description); |
6326 | reply.Data.ActualArea = land.Area; | 6326 | reply.Data.ActualArea = land.Area; |
6327 | reply.Data.BillableArea = land.Area; // TODO: what is this? | 6327 | reply.Data.BillableArea = land.Area; // TODO: what is this? |
6328 | 6328 | ||
6329 | // Bit 0: Mature, bit 7: on sale, other bits: no idea | 6329 | // Bit 0: Mature, bit 7: on sale, other bits: no idea |
6330 | reply.Data.Flags = (byte)( | 6330 | reply.Data.Flags = (byte)( |
6331 | ((land.Flags & (uint)Parcel.ParcelFlags.MaturePublish) != 0 ? (1 << 0) : 0) + | 6331 | ((land.Flags & (uint)Parcel.ParcelFlags.MaturePublish) != 0 ? (1 << 0) : 0) + |
6332 | ((land.Flags & (uint)Parcel.ParcelFlags.ForSale) != 0 ? (1 << 7) : 0)); | 6332 | ((land.Flags & (uint)Parcel.ParcelFlags.ForSale) != 0 ? (1 << 7) : 0)); |
6333 | 6333 | ||
6334 | LLVector3 pos = land.UserLocation; | 6334 | LLVector3 pos = land.UserLocation; |
6335 | if (pos.Equals(LLVector3.Zero)) | 6335 | if (pos.Equals(LLVector3.Zero)) |
6336 | { | 6336 | { |
6337 | pos = (land.AABBMax + land.AABBMin) * 0.5f; | 6337 | pos = (land.AABBMax + land.AABBMin) * 0.5f; |
6338 | } | 6338 | } |
6339 | reply.Data.GlobalX = info.RegionLocX * Constants.RegionSize + x; | 6339 | reply.Data.GlobalX = info.RegionLocX * Constants.RegionSize + x; |
6340 | reply.Data.GlobalY = info.RegionLocY * Constants.RegionSize + y; | 6340 | reply.Data.GlobalY = info.RegionLocY * Constants.RegionSize + y; |
@@ -6344,7 +6344,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6344 | reply.Data.Dwell = 0; // TODO: not implemented yet | 6344 | reply.Data.Dwell = 0; // TODO: not implemented yet |
6345 | reply.Data.SalePrice = land.SalePrice; | 6345 | reply.Data.SalePrice = land.SalePrice; |
6346 | reply.Data.AuctionID = (int)land.AuctionID; | 6346 | reply.Data.AuctionID = (int)land.AuctionID; |
6347 | 6347 | ||
6348 | OutPacket(reply, ThrottleOutPacketType.Land); | 6348 | OutPacket(reply, ThrottleOutPacketType.Land); |
6349 | } | 6349 | } |
6350 | } | 6350 | } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs index 8fe9a7b..8023f58 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs | |||
@@ -230,7 +230,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
230 | { | 230 | { |
231 | // Call the load balancer's hook. If this is not active here | 231 | // Call the load balancer's hook. If this is not active here |
232 | // we defer to the sim server this client is actually connected | 232 | // we defer to the sim server this client is actually connected |
233 | // to. Packet drop notifies will not be triggered in this | 233 | // to. Packet drop notifies will not be triggered in this |
234 | // configuration! | 234 | // configuration! |
235 | // | 235 | // |
236 | if ((m_SynchronizeClient != null) && (!m_Client.IsActive)) | 236 | if ((m_SynchronizeClient != null) && (!m_Client.IsActive)) |
@@ -282,7 +282,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
282 | } | 282 | } |
283 | } | 283 | } |
284 | } | 284 | } |
285 | 285 | ||
286 | private void QueuePacket( | 286 | private void QueuePacket( |
287 | Packet packet, ThrottleOutPacketType throttlePacketType, | 287 | Packet packet, ThrottleOutPacketType throttlePacketType, |
288 | Object id) | 288 | Object id) |
@@ -303,7 +303,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
303 | { | 303 | { |
304 | int now = System.Environment.TickCount; | 304 | int now = System.Environment.TickCount; |
305 | int lastAck = m_LastAck; | 305 | int lastAck = m_LastAck; |
306 | 306 | ||
307 | // Unless we have received at least one ack, don't bother resending | 307 | // Unless we have received at least one ack, don't bother resending |
308 | // anything. There may not be a client there, don't clog up the | 308 | // anything. There may not be a client there, don't clog up the |
309 | // pipes. | 309 | // pipes. |
@@ -558,7 +558,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
558 | 558 | ||
559 | PruneDupeTracker(); | 559 | PruneDupeTracker(); |
560 | 560 | ||
561 | // Check for duplicate packets.. packets that the client is | 561 | // Check for duplicate packets.. packets that the client is |
562 | // resending because it didn't receive our ack | 562 | // resending because it didn't receive our ack |
563 | // | 563 | // |
564 | lock (m_DupeTracker) | 564 | lock (m_DupeTracker) |
@@ -677,7 +677,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
677 | 677 | ||
678 | m_Sequence = info.sequence; | 678 | m_Sequence = info.sequence; |
679 | } | 679 | } |
680 | 680 | ||
681 | public void AddImportantPacket(PacketType type) | 681 | public void AddImportantPacket(PacketType type) |
682 | { | 682 | { |
683 | if (m_ImportantPackets.Contains(type)) | 683 | if (m_ImportantPackets.Contains(type)) |
@@ -693,7 +693,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
693 | 693 | ||
694 | m_ImportantPackets.Remove(type); | 694 | m_ImportantPackets.Remove(type); |
695 | } | 695 | } |
696 | 696 | ||
697 | private void DropResend(Object id) | 697 | private void DropResend(Object id) |
698 | { | 698 | { |
699 | foreach (AckData data in new List<AckData>(m_NeedAck.Values)) | 699 | foreach (AckData data in new List<AckData>(m_NeedAck.Values)) |
@@ -736,7 +736,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
736 | if (packet.Header.Reliable) | 736 | if (packet.Header.Reliable) |
737 | { | 737 | { |
738 | m_UnackedBytes += packet.ToBytes().Length; | 738 | m_UnackedBytes += packet.ToBytes().Length; |
739 | m_NeedAck[packet.Header.Sequence] = new AckData(packet, | 739 | m_NeedAck[packet.Header.Sequence] = new AckData(packet, |
740 | item.Identifier); | 740 | item.Identifier); |
741 | } | 741 | } |
742 | } | 742 | } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 5903661..7c21df2 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -213,7 +213,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
213 | } | 213 | } |
214 | 214 | ||
215 | BeginReceive(); | 215 | BeginReceive(); |
216 | 216 | ||
217 | if (packet != null) | 217 | if (packet != null) |
218 | { | 218 | { |
219 | try | 219 | try |
@@ -297,11 +297,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
297 | m_socket.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, | 297 | m_socket.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, |
298 | ReceivedData, null); | 298 | ReceivedData, null); |
299 | 299 | ||
300 | // Ter: For some stupid reason ConnectionReset basically kills our async event structure.. | 300 | // Ter: For some stupid reason ConnectionReset basically kills our async event structure.. |
301 | // so therefore.. we've got to tell the server to BeginReceiveFrom again. | 301 | // so therefore.. we've got to tell the server to BeginReceiveFrom again. |
302 | // This will happen over and over until we've gone through all packets | 302 | // This will happen over and over until we've gone through all packets |
303 | // sent to and from this particular user. | 303 | // sent to and from this particular user. |
304 | // Stupid I know.. | 304 | // Stupid I know.. |
305 | // but Flusing the buffer would be even more stupid... so, we're stuck with this ugly method. | 305 | // but Flusing the buffer would be even more stupid... so, we're stuck with this ugly method. |
306 | } | 306 | } |
307 | catch (SocketException e) | 307 | catch (SocketException e) |
@@ -329,7 +329,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
329 | { | 329 | { |
330 | if (!(packet is UseCircuitCodePacket)) | 330 | if (!(packet is UseCircuitCodePacket)) |
331 | return; | 331 | return; |
332 | 332 | ||
333 | UseCircuitCodePacket useCircuit = (UseCircuitCodePacket) packet; | 333 | UseCircuitCodePacket useCircuit = (UseCircuitCodePacket) packet; |
334 | lock (clientCircuits) | 334 | lock (clientCircuits) |
335 | { | 335 | { |
@@ -424,13 +424,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
424 | public virtual void RemoveClientCircuit(uint circuitcode) | 424 | public virtual void RemoveClientCircuit(uint circuitcode) |
425 | { | 425 | { |
426 | EndPoint sendto = null; | 426 | EndPoint sendto = null; |
427 | if (clientCircuits_reverse.Contains(circuitcode)) | 427 | if (clientCircuits_reverse.Contains(circuitcode)) |
428 | { | 428 | { |
429 | sendto = (EndPoint)clientCircuits_reverse[circuitcode]; | 429 | sendto = (EndPoint)clientCircuits_reverse[circuitcode]; |
430 | 430 | ||
431 | clientCircuits_reverse.Remove(circuitcode); | 431 | clientCircuits_reverse.Remove(circuitcode); |
432 | 432 | ||
433 | lock (clientCircuits) | 433 | lock (clientCircuits) |
434 | { | 434 | { |
435 | if (sendto != null) | 435 | if (sendto != null) |
436 | { | 436 | { |
@@ -442,7 +442,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
442 | "[UDPSERVER]: endpoint for circuit code {0} in RemoveClientCircuit() was unexpectedly null!", circuitcode); | 442 | "[UDPSERVER]: endpoint for circuit code {0} in RemoveClientCircuit() was unexpectedly null!", circuitcode); |
443 | } | 443 | } |
444 | } | 444 | } |
445 | lock (proxyCircuits) | 445 | lock (proxyCircuits) |
446 | { | 446 | { |
447 | proxyCircuits.Remove(circuitcode); | 447 | proxyCircuits.Remove(circuitcode); |
448 | } | 448 | } |