Add OnQueueEmpty event to the packet layers. No user functinality yet

This commit is contained in:
Melanie
2009-10-01 21:08:17 +01:00
parent 44776fea72
commit 5e9da4daab
3 changed files with 66 additions and 2 deletions

View File

@@ -129,6 +129,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
//
public event PacketStats OnPacketStats;
public event PacketDrop OnPacketDrop;
public event QueueEmpty OnQueueEmpty;
//private SynchronizeClientHandler m_SynchronizeClient = null;
@@ -172,6 +173,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_PacketQueue = new LLPacketQueue(client.AgentId, userSettings);
m_PacketQueue.OnQueueEmpty += TriggerOnQueueEmpty;
m_AckTimer.Elapsed += AckTimerElapsed;
m_AckTimer.Start();
}
@@ -769,6 +772,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
handlerPacketDrop(packet, id);
}
private void TriggerOnQueueEmpty(ThrottleOutPacketType queue)
{
QueueEmpty handlerQueueEmpty = OnQueueEmpty;
if (handlerQueueEmpty == null)
return;
handlerQueueEmpty(queue);
}
// Convert the packet to bytes and stuff it onto the send queue
//
public void ProcessOutPacket(LLQueItem item)