aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorUbitUmarov2016-08-19 17:49:59 +0100
committerUbitUmarov2016-08-19 17:49:59 +0100
commit52afd8588d07cc063e4a7e0fe9ace129de1e7a7a (patch)
tree130b722d6f24a1c94ba9604b4e77a5111a47be81 /OpenSim/Region/ClientStack
parent avoid telling a work job to cancel itself (diff)
downloadopensim-SC-52afd8588d07cc063e4a7e0fe9ace129de1e7a7a.zip
opensim-SC-52afd8588d07cc063e4a7e0fe9ace129de1e7a7a.tar.gz
opensim-SC-52afd8588d07cc063e4a7e0fe9ace129de1e7a7a.tar.bz2
opensim-SC-52afd8588d07cc063e4a7e0fe9ace129de1e7a7a.tar.xz
fix updates resend by reEnqueing, that got broken down the line
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs28
1 files changed, 13 insertions, 15 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index f580e5a..78043bd 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4221,26 +4221,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4221 4221
4222 if (!canUseImproved && !canUseCompressed) 4222 if (!canUseImproved && !canUseCompressed)
4223 { 4223 {
4224 ObjectUpdatePacket.ObjectDataBlock ablock;
4224 if (update.Entity is ScenePresence) 4225 if (update.Entity is ScenePresence)
4225 { 4226 ablock = CreateAvatarUpdateBlock((ScenePresence)update.Entity);
4226 ObjectUpdatePacket.ObjectDataBlock ablock =
4227 CreateAvatarUpdateBlock((ScenePresence)update.Entity);
4228 objectUpdateBlocks.Value.Add(ablock);
4229 maxUpdatesBytes -= ablock.Length;
4230 }
4231 else 4227 else
4232 { 4228 ablock = CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId);
4233 ObjectUpdatePacket.ObjectDataBlock ablock = 4229 objectUpdateBlocks.Value.Add(ablock);
4234 CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId); 4230 objectUpdates.Value.Add(update);
4235 objectUpdateBlocks.Value.Add(ablock); 4231 maxUpdatesBytes -= ablock.Length;
4236 maxUpdatesBytes -= ablock.Length; 4232
4237 }
4238 } 4233 }
4239 else if (!canUseImproved) 4234 else if (!canUseImproved)
4240 { 4235 {
4241 ObjectUpdateCompressedPacket.ObjectDataBlock ablock = 4236 ObjectUpdateCompressedPacket.ObjectDataBlock ablock =
4242 CreateCompressedUpdateBlock((SceneObjectPart)update.Entity, updateFlags); 4237 CreateCompressedUpdateBlock((SceneObjectPart)update.Entity, updateFlags);
4243 compressedUpdateBlocks.Value.Add(ablock); 4238 compressedUpdateBlocks.Value.Add(ablock);
4239 compressedUpdates.Value.Add(update);
4244 maxUpdatesBytes -= ablock.Length; 4240 maxUpdatesBytes -= ablock.Length;
4245 } 4241 }
4246 else 4242 else
@@ -4251,6 +4247,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4251 ImprovedTerseObjectUpdatePacket.ObjectDataBlock ablock = 4247 ImprovedTerseObjectUpdatePacket.ObjectDataBlock ablock =
4252 CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)); 4248 CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures));
4253 terseAgentUpdateBlocks.Value.Add(ablock); 4249 terseAgentUpdateBlocks.Value.Add(ablock);
4250 terseAgentUpdates.Value.Add(update);
4254 maxUpdatesBytes -= ablock.Length; 4251 maxUpdatesBytes -= ablock.Length;
4255 } 4252 }
4256 else 4253 else
@@ -4259,6 +4256,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4259 ImprovedTerseObjectUpdatePacket.ObjectDataBlock ablock = 4256 ImprovedTerseObjectUpdatePacket.ObjectDataBlock ablock =
4260 CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)); 4257 CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures));
4261 terseUpdateBlocks.Value.Add(ablock); 4258 terseUpdateBlocks.Value.Add(ablock);
4259 terseUpdates.Value.Add(update);
4262 maxUpdatesBytes -= ablock.Length; 4260 maxUpdatesBytes -= ablock.Length;
4263 } 4261 }
4264 } 4262 }
@@ -4290,7 +4288,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4290 for (int i = 0; i < blocks.Count; i++) 4288 for (int i = 0; i < blocks.Count; i++)
4291 packet.ObjectData[i] = blocks[i]; 4289 packet.ObjectData[i] = blocks[i];
4292 4290
4293 OutPacket(packet, ThrottleOutPacketType.Unknown, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(terseUpdates.Value, oPacket); }); 4291 OutPacket(packet, ThrottleOutPacketType.Unknown, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(terseAgentUpdates.Value, oPacket); });
4294 } 4292 }
4295 4293
4296 if (objectUpdateBlocks.IsValueCreated) 4294 if (objectUpdateBlocks.IsValueCreated)
@@ -4305,7 +4303,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4305 for (int i = 0; i < blocks.Count; i++) 4303 for (int i = 0; i < blocks.Count; i++)
4306 packet.ObjectData[i] = blocks[i]; 4304 packet.ObjectData[i] = blocks[i];
4307 4305
4308 OutPacket(packet, ThrottleOutPacketType.Task, true); 4306 OutPacket(packet, ThrottleOutPacketType.Task, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(objectUpdates.Value, oPacket); });
4309 } 4307 }
4310 4308
4311 if (compressedUpdateBlocks.IsValueCreated) 4309 if (compressedUpdateBlocks.IsValueCreated)
@@ -4320,7 +4318,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4320 for (int i = 0; i < blocks.Count; i++) 4318 for (int i = 0; i < blocks.Count; i++)
4321 packet.ObjectData[i] = blocks[i]; 4319 packet.ObjectData[i] = blocks[i];
4322 4320
4323 OutPacket(packet, ThrottleOutPacketType.Task, true); 4321 OutPacket(packet, ThrottleOutPacketType.Task, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(compressedUpdates.Value, oPacket); });
4324 } 4322 }
4325 4323
4326 if (terseUpdateBlocks.IsValueCreated) 4324 if (terseUpdateBlocks.IsValueCreated)