From 6e9d5e4ea79eed54e1e88a8e8d209149418021ed Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Mon, 12 Jan 2009 17:31:30 +0000 Subject: * refactor: move packet handler interface into a separate class --- .../ClientStack/LindenUDP/ILLPacketHandler.cs | 67 ++++++++++++++++++++++ .../Region/ClientStack/LindenUDP/LLClientView.cs | 4 +- .../ClientStack/LindenUDP/LLPacketHandler.cs | 35 +---------- 3 files changed, 70 insertions(+), 36 deletions(-) create mode 100644 OpenSim/Region/ClientStack/LindenUDP/ILLPacketHandler.cs (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/ClientStack/LindenUDP/ILLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/ILLPacketHandler.cs new file mode 100644 index 0000000..b857163 --- /dev/null +++ b/OpenSim/Region/ClientStack/LindenUDP/ILLPacketHandler.cs @@ -0,0 +1,67 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using OpenMetaverse; +using OpenMetaverse.Packets; +using OpenSim.Framework; + +namespace OpenSim.Region.ClientStack.LindenUDP +{ + public delegate void PacketStats(int inPackets, int outPackets, int unAckedBytes); + public delegate void PacketDrop(Packet pack, Object id); + public delegate bool SynchronizeClientHandler(IScene scene, Packet packet, UUID agentID, ThrottleOutPacketType throttlePacketType); + + public interface ILLPacketHandler + { + event PacketStats OnPacketStats; + event PacketDrop OnPacketDrop; + SynchronizeClientHandler SynchronizeClient { set; } + + int PacketsReceived { get; } + int PacketsReceivedReported { get; } + uint ResendTimeout { get; set; } + bool ReliableIsImportant { get; set; } + int MaxReliableResends { get; set; } + + void InPacket(Packet packet); + void ProcessInPacket(LLQueItem item); + void ProcessOutPacket(LLQueItem item); + void OutPacket(Packet NewPack, + ThrottleOutPacketType throttlePacketType); + void OutPacket(Packet NewPack, + ThrottleOutPacketType throttlePacketType, Object id); + LLPacketQueue PacketQueue { get; } + void Stop(); + void Flush(); + void Clear(); + ClientInfo GetClientInfo(); + void SetClientInfo(ClientInfo info); + void AddImportantPacket(PacketType type); + void RemoveImportantPacket(PacketType type); + } +} diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index c88e6b5..c70163c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -75,7 +75,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP private readonly UUID m_agentId; private readonly uint m_circuitCode; private int m_moneyBalance; - private readonly IPacketHandler m_PacketHandler; + private readonly ILLPacketHandler m_PacketHandler; private int m_animationSequenceNumber = 1; @@ -402,7 +402,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP get { return m_animationSequenceNumber++; } } - public IPacketHandler PacketHandler + public ILLPacketHandler PacketHandler { get { return m_PacketHandler; } } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs index 29cfd99..7b102ec 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs @@ -42,40 +42,7 @@ using log4net; namespace OpenSim.Region.ClientStack.LindenUDP { - public delegate void PacketStats(int inPackets, int outPackets, int unAckedBytes); - public delegate void PacketDrop(Packet pack, Object id); - public delegate bool SynchronizeClientHandler(IScene scene, Packet packet, UUID agentID, ThrottleOutPacketType throttlePacketType); - - public interface IPacketHandler - { - event PacketStats OnPacketStats; - event PacketDrop OnPacketDrop; - SynchronizeClientHandler SynchronizeClient { set; } - - int PacketsReceived { get; } - int PacketsReceivedReported { get; } - uint ResendTimeout { get; set; } - bool ReliableIsImportant { get; set; } - int MaxReliableResends { get; set; } - - void InPacket(Packet packet); - void ProcessInPacket(LLQueItem item); - void ProcessOutPacket(LLQueItem item); - void OutPacket(Packet NewPack, - ThrottleOutPacketType throttlePacketType); - void OutPacket(Packet NewPack, - ThrottleOutPacketType throttlePacketType, Object id); - LLPacketQueue PacketQueue { get; } - void Stop(); - void Flush(); - void Clear(); - ClientInfo GetClientInfo(); - void SetClientInfo(ClientInfo info); - void AddImportantPacket(PacketType type); - void RemoveImportantPacket(PacketType type); - } - - public class LLPacketHandler : IPacketHandler + public class LLPacketHandler : ILLPacketHandler { //private static readonly ILog m_log // = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); -- cgit v1.1