diff options
author | Teravus Ovares | 2008-01-22 08:52:51 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-01-22 08:52:51 +0000 |
commit | 5cf96daaf29209e065b852a0eefeb7f5dbd88b48 (patch) | |
tree | 34518c3c3609fbe6654a651d6ad357d257f60f26 /OpenSim/Region/ClientStack | |
parent | * Renamed a number of TerrainEngine functions to conform naming standards bet... (diff) | |
download | opensim-SC-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.zip opensim-SC-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.tar.gz opensim-SC-5cf96daaf29209e065b852a0eefeb7f5dbd88b48.tar.bz2 opensim-SC-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.cs | 29 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/PacketQueue.cs | 2 |
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; |