mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
* 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.
This commit is contained in:
@@ -641,7 +641,8 @@ namespace OpenSim.Region.ClientStack
|
||||
}
|
||||
mov.Data.LookAt = look;
|
||||
|
||||
OutPacket(mov, ThrottleOutPacketType.Task);
|
||||
// Hack to get this out immediately and skip the throttles
|
||||
OutPacket(mov, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -824,7 +825,8 @@ namespace OpenSim.Region.ClientStack
|
||||
newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port;
|
||||
newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL);
|
||||
|
||||
OutPacket(newSimPack, ThrottleOutPacketType.Task);
|
||||
// Hack to get this out immediately and skip throttles
|
||||
OutPacket(newSimPack, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
public void SendMapBlock(List<MapBlockData> mapBlocks)
|
||||
@@ -858,7 +860,9 @@ namespace OpenSim.Region.ClientStack
|
||||
tpLocal.Info.LocationID = 2;
|
||||
tpLocal.Info.LookAt = lookAt;
|
||||
tpLocal.Info.Position = position;
|
||||
OutPacket(tpLocal, ThrottleOutPacketType.Task);
|
||||
|
||||
// Hack to get this out immediately and skip throttles
|
||||
OutPacket(tpLocal, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID,
|
||||
@@ -884,7 +888,9 @@ namespace OpenSim.Region.ClientStack
|
||||
teleport.Info.SimPort = (ushort)newRegionEndPoint.Port;
|
||||
teleport.Info.LocationID = 4;
|
||||
teleport.Info.TeleportFlags = 1 << 4;
|
||||
OutPacket(teleport, ThrottleOutPacketType.Task);
|
||||
|
||||
// Hack to get this out immediately and skip throttles.
|
||||
OutPacket(teleport, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -895,7 +901,9 @@ namespace OpenSim.Region.ClientStack
|
||||
TeleportFailedPacket tpFailed = (TeleportFailedPacket)PacketPool.Instance.GetPacket(PacketType.TeleportFailed);
|
||||
tpFailed.Info.AgentID = AgentId;
|
||||
tpFailed.Info.Reason = Helpers.StringToField(reason);
|
||||
OutPacket(tpFailed, ThrottleOutPacketType.Task);
|
||||
|
||||
// Hack to get this out immediately and skip throttles
|
||||
OutPacket(tpFailed, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -906,7 +914,9 @@ namespace OpenSim.Region.ClientStack
|
||||
//TeleportStartPacket tpStart = (TeleportStartPacket)PacketPool.Instance.GetPacket(PacketType.TeleportStart);
|
||||
TeleportStartPacket tpStart = new TeleportStartPacket();
|
||||
tpStart.Info.TeleportFlags = 16; // Teleport via location
|
||||
OutPacket(tpStart, ThrottleOutPacketType.Task);
|
||||
|
||||
// Hack to get this out immediately and skip throttles
|
||||
OutPacket(tpStart, ThrottleOutPacketType.Unknown);
|
||||
}
|
||||
|
||||
public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance)
|
||||
@@ -1882,7 +1892,7 @@ namespace OpenSim.Region.ClientStack
|
||||
objectData.PathTwistBegin = primData.PathTwistBegin;
|
||||
objectData.ExtraParams = primData.ExtraParams;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Set some default values in a ObjectUpdatePacket
|
||||
/// </summary>
|
||||
@@ -2222,6 +2232,11 @@ namespace OpenSim.Region.ClientStack
|
||||
*/
|
||||
}
|
||||
|
||||
public byte[] GetThrottlesPacked(float multiplier)
|
||||
{
|
||||
return m_packetQueue.GetThrottlesPacked(multiplier);
|
||||
}
|
||||
|
||||
public void SetChildAgentThrottle(byte[] throttles)
|
||||
{
|
||||
m_packetQueue.SetThrottleFromClient(throttles);
|
||||
|
||||
Reference in New Issue
Block a user