* More clientstack abstractions - We now only have a single constructor call to UDPServer. Going to reduce this with an abstracted constructor in a bit.
parent
cfc62d6252
commit
4dc75e4b76
|
@ -453,7 +453,7 @@ namespace OpenSim
|
||||||
/// <param name="regionInfo"></param>
|
/// <param name="regionInfo"></param>
|
||||||
/// <param name="portadd_flag"></param>
|
/// <param name="portadd_flag"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public LLUDPServer CreateRegion(RegionInfo regionInfo, bool portadd_flag)
|
public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag)
|
||||||
{
|
{
|
||||||
return CreateRegion(regionInfo, portadd_flag, false);
|
return CreateRegion(regionInfo, portadd_flag, false);
|
||||||
}
|
}
|
||||||
|
@ -464,7 +464,7 @@ namespace OpenSim
|
||||||
/// <param name="regionInfo"></param>
|
/// <param name="regionInfo"></param>
|
||||||
/// <param name="portadd_flag"></param>
|
/// <param name="portadd_flag"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public LLUDPServer CreateRegion(RegionInfo regionInfo)
|
public IClientNetworkServer CreateRegion(RegionInfo regionInfo)
|
||||||
{
|
{
|
||||||
return CreateRegion(regionInfo, false, true);
|
return CreateRegion(regionInfo, false, true);
|
||||||
}
|
}
|
||||||
|
@ -476,7 +476,7 @@ namespace OpenSim
|
||||||
/// <param name="portadd_flag"></param>
|
/// <param name="portadd_flag"></param>
|
||||||
/// <param name="do_post_init"></param>
|
/// <param name="do_post_init"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
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;
|
int port = regionInfo.InternalEndPoint.Port;
|
||||||
|
|
||||||
|
@ -496,7 +496,7 @@ namespace OpenSim
|
||||||
Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName);
|
Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName);
|
||||||
}
|
}
|
||||||
|
|
||||||
LLUDPServer udpServer;
|
IClientNetworkServer udpServer;
|
||||||
Scene scene = SetupScene(regionInfo, proxyOffset, out udpServer, m_permissions);
|
Scene scene = SetupScene(regionInfo, proxyOffset, out udpServer, m_permissions);
|
||||||
|
|
||||||
m_log.Info("[MODULES]: Loading Region's modules");
|
m_log.Info("[MODULES]: Loading Region's modules");
|
||||||
|
@ -551,7 +551,7 @@ namespace OpenSim
|
||||||
|
|
||||||
m_clientServers.Add(udpServer);
|
m_clientServers.Add(udpServer);
|
||||||
m_regionData.Add(regionInfo);
|
m_regionData.Add(regionInfo);
|
||||||
udpServer.ServerListener();
|
udpServer.Start();
|
||||||
|
|
||||||
if (do_post_init)
|
if (do_post_init)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack
|
namespace OpenSim.Region.ClientStack
|
||||||
{
|
{
|
||||||
|
@ -7,5 +8,9 @@ namespace OpenSim.Region.ClientStack
|
||||||
{
|
{
|
||||||
Socket Server { get; }
|
Socket Server { get; }
|
||||||
bool HandlesRegion(Location x);
|
bool HandlesRegion(Location x);
|
||||||
|
void AddScene(Scene x);
|
||||||
|
|
||||||
|
void Start();
|
||||||
|
void Stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -35,6 +35,7 @@ using log4net;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Communications.Cache;
|
using OpenSim.Framework.Communications.Cache;
|
||||||
using OpenSim.Region.ClientStack.LindenUDP;
|
using OpenSim.Region.ClientStack.LindenUDP;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.ClientStack.LindenUDP
|
namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
|
@ -95,6 +96,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return x == m_location;
|
return x == m_location;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddScene(Scene x)
|
||||||
|
{
|
||||||
|
LocalScene = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
ServerListener();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
m_socket.Close();
|
||||||
|
}
|
||||||
|
|
||||||
public LLUDPServer()
|
public LLUDPServer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -318,12 +334,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
ack_it.Header.Reliable = false;
|
ack_it.Header.Reliable = false;
|
||||||
SendPacketTo(ack_it.ToBytes(),ack_it.ToBytes().Length,SocketFlags.None,p.CircuitCode.Code);
|
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)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
|
@ -107,12 +107,12 @@ namespace OpenSim.Region.ClientStack
|
||||||
return physicsPluginManager.GetPhysicsScene(engine, meshEngine);
|
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);
|
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();
|
AgentCircuitManager circuitManager = new AgentCircuitManager();
|
||||||
IPAddress listenIP = regionInfo.InternalEndPoint.Address;
|
IPAddress listenIP = regionInfo.InternalEndPoint.Address;
|
||||||
|
@ -125,7 +125,7 @@ namespace OpenSim.Region.ClientStack
|
||||||
|
|
||||||
Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager);
|
Scene scene = CreateScene(regionInfo, m_storageManager, circuitManager);
|
||||||
|
|
||||||
udpServer.LocalScene = scene;
|
udpServer.AddScene(scene);
|
||||||
|
|
||||||
scene.LoadWorldMap();
|
scene.LoadWorldMap();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue