* Re-implement packet tracking in IClientAPI so we can see what's going on in the client network in the simstats manager. This makes packets in per second, packets out per second, and unacked bytes work again in the simulator stats section.

This commit is contained in:
Teravus Ovares
2008-12-21 00:11:54 +00:00
parent 3dae92b850
commit 119104e35b
7 changed files with 32 additions and 4 deletions

View File

@@ -272,6 +272,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private StartLure handlerStartLure;
private TeleportLureRequest handlerTeleportLureRequest;
private NetworkStats handlerNetworkStatsUpdate;
private readonly IGroupsModule m_GroupsModule;
//private TerrainUnacked handlerUnackedTerrain = null;
@@ -450,7 +452,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_PacketHandler = new LLPacketHandler(this, m_networkServer, userSettings);
m_PacketHandler.SynchronizeClient = SynchronizeClient;
m_PacketHandler.OnPacketStats += PopulateStats;
RegisterLocalPacketHandlers();
m_clientThread = new Thread(Start);
@@ -572,6 +575,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public void Terminate()
{
m_PacketHandler.OnPacketStats -= PopulateStats;
m_PacketHandler.Stop();
// wait for thread stoped
@@ -585,6 +589,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
# region Packet Handling
public void PopulateStats(int inPackets, int outPackets, int unAckedBytes)
{
handlerNetworkStatsUpdate = OnNetworkStatsUpdate;
if (handlerNetworkStatsUpdate != null)
{
handlerNetworkStatsUpdate(inPackets, outPackets, unAckedBytes);
}
}
public static bool AddPacketHandler(PacketType packetType, PacketMethod handler)
{
bool result = false;
@@ -1017,6 +1030,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event StartLure OnStartLure;
public event TeleportLureRequest OnTeleportLureRequest;
public event NetworkStats OnNetworkStatsUpdate;
public void ActivateGesture(UUID assetId, UUID gestureId)