diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 1f67c6a1d6..792442192e 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -453,7 +453,7 @@ namespace OpenSim /// /// /// - public LLUDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag) + public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag) { return CreateRegion(regionInfo, portadd_flag, false); } @@ -464,7 +464,7 @@ namespace OpenSim /// /// /// - public LLUDPServer CreateRegion(RegionInfo regionInfo) + public IClientNetworkServer CreateRegion(RegionInfo regionInfo) { return CreateRegion(regionInfo, false, true); } @@ -476,7 +476,7 @@ namespace OpenSim /// /// /// - public LLUDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init) + public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init) { int port = regionInfo.InternalEndPoint.Port; @@ -496,7 +496,7 @@ namespace OpenSim Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName); } - LLUDPServer udpServer; + IClientNetworkServer udpServer; Scene scene = SetupScene(regionInfo, proxyOffset, out udpServer, m_permissions); m_log.Info("[MODULES]: Loading Region's modules"); @@ -551,7 +551,7 @@ namespace OpenSim m_clientServers.Add(udpServer); m_regionData.Add(regionInfo); - udpServer.ServerListener(); + udpServer.Start(); if (do_post_init) { diff --git a/OpenSim/Region/ClientStack/IClientNetworkServer.cs b/OpenSim/Region/ClientStack/IClientNetworkServer.cs index f15404c6d6..4f6f638c4f 100644 --- a/OpenSim/Region/ClientStack/IClientNetworkServer.cs +++ b/OpenSim/Region/ClientStack/IClientNetworkServer.cs @@ -1,5 +1,6 @@ using System.Net.Sockets; using OpenSim.Framework; +using OpenSim.Region.Environment.Scenes; namespace OpenSim.Region.ClientStack { @@ -7,5 +8,9 @@ namespace OpenSim.Region.ClientStack { Socket Server { get; } bool HandlesRegion(Location x); + void AddScene(Scene x); + + void Start(); + void Stop(); } } \ No newline at end of file diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index f85dcc25ae..b5ace5075c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -35,6 +35,7 @@ using log4net; using OpenSim.Framework; using OpenSim.Framework.Communications.Cache; using OpenSim.Region.ClientStack.LindenUDP; +using OpenSim.Region.Environment.Scenes; namespace OpenSim.Region.ClientStack.LindenUDP { @@ -95,6 +96,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP return x == m_location; } + public void AddScene(Scene x) + { + LocalScene = x; + } + + public void Start() + { + ServerListener(); + } + + public void Stop() + { + m_socket.Close(); + } + public LLUDPServer() { } @@ -318,12 +334,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP ack_it.Header.Reliable = false; SendPacketTo(ack_it.ToBytes(),ack_it.ToBytes().Length,SocketFlags.None,p.CircuitCode.Code); } - else - { - // invalid client - //CFK: This message seems to have served its usefullness as of 12-15 so I am commenting it out for now - //m_log.Warn("[UDPSERVER]: Got a packet from an invalid client - " + packet.ToString()); - } } catch (Exception) { diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index 1102fb4295..3fa237177e 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs @@ -107,12 +107,12 @@ namespace OpenSim.Region.ClientStack return physicsPluginManager.GetPhysicsScene(engine, meshEngine); } - protected Scene SetupScene(RegionInfo regionInfo, out LLUDPServer udpServer, bool m_permissions) + protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer udpServer, bool m_permissions) { return SetupScene(regionInfo, 0, out udpServer, m_permissions); } - protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, out LLUDPServer udpServer, bool m_permissions) + protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, out IClientNetworkServer udpServer, bool m_permissions) { AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; @@ -124,8 +124,8 @@ namespace OpenSim.Region.ClientStack regionInfo.InternalEndPoint.Port = (int)port; Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager); - - udpServer.LocalScene = scene; + + udpServer.AddScene(scene); scene.LoadWorldMap();