aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorTeravus Ovares2008-01-22 08:52:51 +0000
committerTeravus Ovares2008-01-22 08:52:51 +0000
commit5cf96daaf29209e065b852a0eefeb7f5dbd88b48 (patch)
tree34518c3c3609fbe6654a651d6ad357d257f60f26 /OpenSim/Region/ClientStack
parent* Renamed a number of TerrainEngine functions to conform naming standards bet... (diff)
downloadopensim-SC_OLD-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.zip
opensim-SC_OLD-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.tar.gz
opensim-SC_OLD-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.tar.bz2
opensim-SC_OLD-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.tar.xz
* Enabled dead region tracking for ChildAgentDataUpdates
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region * Enabled Child_Get_Tasks in grid mode. * When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim. This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance. This means that with this enabled, you can see prim in other regions in grid mode. Very experimental.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs29
-rw-r--r--OpenSim/Region/ClientStack/PacketQueue.cs2
2 files changed, 23 insertions, 8 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index f37ffc9..9d9a792 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -641,7 +641,8 @@ namespace OpenSim.Region.ClientStack
641 } 641 }
642 mov.Data.LookAt = look; 642 mov.Data.LookAt = look;
643 643
644 OutPacket(mov, ThrottleOutPacketType.Task); 644 // Hack to get this out immediately and skip the throttles
645 OutPacket(mov, ThrottleOutPacketType.Unknown);
645 } 646 }
646 647
647 /// <summary> 648 /// <summary>
@@ -824,7 +825,8 @@ namespace OpenSim.Region.ClientStack
824 newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; 825 newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port;
825 newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL); 826 newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL);
826 827
827 OutPacket(newSimPack, ThrottleOutPacketType.Task); 828 // Hack to get this out immediately and skip throttles
829 OutPacket(newSimPack, ThrottleOutPacketType.Unknown);
828 } 830 }
829 831
830 public void SendMapBlock(List<MapBlockData> mapBlocks) 832 public void SendMapBlock(List<MapBlockData> mapBlocks)
@@ -858,7 +860,9 @@ namespace OpenSim.Region.ClientStack
858 tpLocal.Info.LocationID = 2; 860 tpLocal.Info.LocationID = 2;
859 tpLocal.Info.LookAt = lookAt; 861 tpLocal.Info.LookAt = lookAt;
860 tpLocal.Info.Position = position; 862 tpLocal.Info.Position = position;
861 OutPacket(tpLocal, ThrottleOutPacketType.Task); 863
864 // Hack to get this out immediately and skip throttles
865 OutPacket(tpLocal, ThrottleOutPacketType.Unknown);
862 } 866 }
863 867
864 public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, 868 public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID,
@@ -884,7 +888,9 @@ namespace OpenSim.Region.ClientStack
884 teleport.Info.SimPort = (ushort)newRegionEndPoint.Port; 888 teleport.Info.SimPort = (ushort)newRegionEndPoint.Port;
885 teleport.Info.LocationID = 4; 889 teleport.Info.LocationID = 4;
886 teleport.Info.TeleportFlags = 1 << 4; 890 teleport.Info.TeleportFlags = 1 << 4;
887 OutPacket(teleport, ThrottleOutPacketType.Task); 891
892 // Hack to get this out immediately and skip throttles.
893 OutPacket(teleport, ThrottleOutPacketType.Unknown);
888 } 894 }
889 895
890 /// <summary> 896 /// <summary>
@@ -895,7 +901,9 @@ namespace OpenSim.Region.ClientStack
895 TeleportFailedPacket tpFailed = (TeleportFailedPacket)PacketPool.Instance.GetPacket(PacketType.TeleportFailed); 901 TeleportFailedPacket tpFailed = (TeleportFailedPacket)PacketPool.Instance.GetPacket(PacketType.TeleportFailed);
896 tpFailed.Info.AgentID = AgentId; 902 tpFailed.Info.AgentID = AgentId;
897 tpFailed.Info.Reason = Helpers.StringToField(reason); 903 tpFailed.Info.Reason = Helpers.StringToField(reason);
898 OutPacket(tpFailed, ThrottleOutPacketType.Task); 904
905 // Hack to get this out immediately and skip throttles
906 OutPacket(tpFailed, ThrottleOutPacketType.Unknown);
899 } 907 }
900 908
901 /// <summary> 909 /// <summary>
@@ -906,7 +914,9 @@ namespace OpenSim.Region.ClientStack
906 //TeleportStartPacket tpStart = (TeleportStartPacket)PacketPool.Instance.GetPacket(PacketType.TeleportStart); 914 //TeleportStartPacket tpStart = (TeleportStartPacket)PacketPool.Instance.GetPacket(PacketType.TeleportStart);
907 TeleportStartPacket tpStart = new TeleportStartPacket(); 915 TeleportStartPacket tpStart = new TeleportStartPacket();
908 tpStart.Info.TeleportFlags = 16; // Teleport via location 916 tpStart.Info.TeleportFlags = 16; // Teleport via location
909 OutPacket(tpStart, ThrottleOutPacketType.Task); 917
918 // Hack to get this out immediately and skip throttles
919 OutPacket(tpStart, ThrottleOutPacketType.Unknown);
910 } 920 }
911 921
912 public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) 922 public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance)
@@ -1882,7 +1892,7 @@ namespace OpenSim.Region.ClientStack
1882 objectData.PathTwistBegin = primData.PathTwistBegin; 1892 objectData.PathTwistBegin = primData.PathTwistBegin;
1883 objectData.ExtraParams = primData.ExtraParams; 1893 objectData.ExtraParams = primData.ExtraParams;
1884 } 1894 }
1885 1895
1886 /// <summary> 1896 /// <summary>
1887 /// Set some default values in a ObjectUpdatePacket 1897 /// Set some default values in a ObjectUpdatePacket
1888 /// </summary> 1898 /// </summary>
@@ -2222,6 +2232,11 @@ namespace OpenSim.Region.ClientStack
2222 */ 2232 */
2223 } 2233 }
2224 2234
2235 public byte[] GetThrottlesPacked(float multiplier)
2236 {
2237 return m_packetQueue.GetThrottlesPacked(multiplier);
2238 }
2239
2225 public void SetChildAgentThrottle(byte[] throttles) 2240 public void SetChildAgentThrottle(byte[] throttles)
2226 { 2241 {
2227 m_packetQueue.SetThrottleFromClient(throttles); 2242 m_packetQueue.SetThrottleFromClient(throttles);
diff --git a/OpenSim/Region/ClientStack/PacketQueue.cs b/OpenSim/Region/ClientStack/PacketQueue.cs
index 1065f63..685f91b 100644
--- a/OpenSim/Region/ClientStack/PacketQueue.cs
+++ b/OpenSim/Region/ClientStack/PacketQueue.cs
@@ -356,7 +356,7 @@ namespace OpenSim.Region.ClientStack
356 return (int) (((float) value/(float) curmax)*newmax); 356 return (int) (((float) value/(float) curmax)*newmax);
357 } 357 }
358 358
359 private byte[] GetThrottlesPacked(float multiplier) 359 public byte[] GetThrottlesPacked(float multiplier)
360 { 360 {
361 int singlefloat = 4; 361 int singlefloat = 4;
362 float tResend = ResendThrottle.Throttle*multiplier; 362 float tResend = ResendThrottle.Throttle*multiplier;