diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientStackManager.cs | 34 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/RegionApplicationBase.cs | 51 |
3 files changed, 70 insertions, 23 deletions
diff --git a/OpenSim/Region/ClientStack/ClientStackManager.cs b/OpenSim/Region/ClientStack/ClientStackManager.cs index 0b0c07f..2751e0a 100644 --- a/OpenSim/Region/ClientStack/ClientStackManager.cs +++ b/OpenSim/Region/ClientStack/ClientStackManager.cs | |||
@@ -65,11 +65,45 @@ namespace OpenSim.Region.Environment | |||
65 | } | 65 | } |
66 | } | 66 | } |
67 | } | 67 | } |
68 | |||
69 | /// <summary> | ||
70 | /// Create a server that can set up sessions for virtual world client <-> server communications | ||
71 | /// </summary> | ||
72 | /// <param name="_listenIP"></param> | ||
73 | /// <param name="port"></param> | ||
74 | /// <param name="proxyPortOffset"></param> | ||
75 | /// <param name="allow_alternate_port"></param> | ||
76 | /// <param name="assetCache"></param> | ||
77 | /// <param name="authenticateClass"></param> | ||
78 | /// <returns></returns> | ||
79 | public IClientNetworkServer CreateServer( | ||
80 | IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, | ||
81 | AssetCache assetCache, AgentCircuitManager authenticateClass) | ||
82 | { | ||
83 | return CreateServer( | ||
84 | _listenIP, ref port, proxyPortOffset, allow_alternate_port, null, assetCache, authenticateClass); | ||
85 | } | ||
68 | 86 | ||
87 | /// <summary> | ||
88 | /// Create a server that can set up sessions for virtual world client <-> server communications | ||
89 | /// </summary> | ||
90 | /// <param name="_listenIP"></param> | ||
91 | /// <param name="port"></param> | ||
92 | /// <param name="proxyPortOffset"></param> | ||
93 | /// <param name="allow_alternate_port"></param> | ||
94 | /// <param name="settings"> | ||
95 | /// Can be null, in which case default values are used | ||
96 | /// </param> | ||
97 | /// <param name="assetCache"></param> | ||
98 | /// <param name="authenticateClass"></param> | ||
99 | /// <returns></returns> | ||
69 | public IClientNetworkServer CreateServer( | 100 | public IClientNetworkServer CreateServer( |
70 | IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, ClientStackUserSettings settings, | 101 | IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, ClientStackUserSettings settings, |
71 | AssetCache assetCache, AgentCircuitManager authenticateClass) | 102 | AssetCache assetCache, AgentCircuitManager authenticateClass) |
72 | { | 103 | { |
104 | if (null == settings) | ||
105 | settings = new ClientStackUserSettings(); | ||
106 | |||
73 | if (plugin != null) | 107 | if (plugin != null) |
74 | { | 108 | { |
75 | IClientNetworkServer server = | 109 | IClientNetworkServer server = |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 199954e..5aa0f2e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -392,8 +392,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
392 | /// <param name="sessionId"></param> | 392 | /// <param name="sessionId"></param> |
393 | /// <param name="circuitCode"></param> | 393 | /// <param name="circuitCode"></param> |
394 | /// <param name="proxyEP"></param> | 394 | /// <param name="proxyEP"></param> |
395 | public LLClientView(EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer, | 395 | public LLClientView( |
396 | AgentCircuitManager authenSessions, UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP) | 396 | EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer, |
397 | AgentCircuitManager authenSessions, UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP, | ||
398 | ClientStackUserSettings userSettings) | ||
397 | { | 399 | { |
398 | m_moneyBalance = 1000; | 400 | m_moneyBalance = 1000; |
399 | 401 | ||
@@ -422,7 +424,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
422 | // in it to process. It's an on-purpose threadlock though because | 424 | // in it to process. It's an on-purpose threadlock though because |
423 | // without it, the clientloop will suck up all sim resources. | 425 | // without it, the clientloop will suck up all sim resources. |
424 | 426 | ||
425 | m_PacketHandler = new LLPacketHandler(this, m_networkServer); | 427 | m_PacketHandler = new LLPacketHandler(this, m_networkServer, userSettings); |
426 | m_PacketHandler.SynchronizeClient = SynchronizeClient; | 428 | m_PacketHandler.SynchronizeClient = SynchronizeClient; |
427 | 429 | ||
428 | RegisterLocalPacketHandlers(); | 430 | RegisterLocalPacketHandlers(); |
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index 4db2907..4006066 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs | |||
@@ -70,6 +70,13 @@ namespace OpenSim.Region.ClientStack | |||
70 | { | 70 | { |
71 | get { return m_sceneManager; } | 71 | get { return m_sceneManager; } |
72 | } | 72 | } |
73 | |||
74 | protected abstract void Initialize(); | ||
75 | protected abstract PhysicsScene GetPhysicsScene(); | ||
76 | protected abstract StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring); | ||
77 | protected abstract ClientStackManager CreateClientStackManager(); | ||
78 | protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, | ||
79 | AgentCircuitManager circuitManager); | ||
73 | 80 | ||
74 | protected override void StartupSpecific() | 81 | protected override void StartupSpecific() |
75 | { | 82 | { |
@@ -79,7 +86,11 @@ namespace OpenSim.Region.ClientStack | |||
79 | 86 | ||
80 | Initialize(); | 87 | Initialize(); |
81 | 88 | ||
82 | m_httpServer = new BaseHttpServer(m_httpServerPort,m_networkServersInfo.HttpUsesSSL,m_networkServersInfo.httpSSLPort, m_networkServersInfo.HttpSSLCN); | 89 | m_httpServer |
90 | = new BaseHttpServer( | ||
91 | m_httpServerPort, m_networkServersInfo.HttpUsesSSL, m_networkServersInfo.httpSSLPort, | ||
92 | m_networkServersInfo.HttpSSLCN); | ||
93 | |||
83 | if (m_networkServersInfo.HttpUsesSSL && (m_networkServersInfo.HttpListenerPort == m_networkServersInfo.httpSSLPort)) | 94 | if (m_networkServersInfo.HttpUsesSSL && (m_networkServersInfo.HttpListenerPort == m_networkServersInfo.httpSSLPort)) |
84 | { | 95 | { |
85 | m_log.Error("[HTTP]: HTTP Server config failed. HTTP Server and HTTPS server must be on different ports"); | 96 | m_log.Error("[HTTP]: HTTP Server config failed. HTTP Server and HTTPS server must be on different ports"); |
@@ -89,19 +100,6 @@ namespace OpenSim.Region.ClientStack | |||
89 | m_httpServer.Start(); | 100 | m_httpServer.Start(); |
90 | } | 101 | } |
91 | 102 | ||
92 | protected abstract void Initialize(); | ||
93 | |||
94 | // protected void StartConsole() | ||
95 | // { | ||
96 | // m_console = CreateConsole(); | ||
97 | // MainConsole.Instance = m_console; | ||
98 | // } | ||
99 | |||
100 | // protected abstract ConsoleBase CreateConsole(); | ||
101 | protected abstract PhysicsScene GetPhysicsScene(); | ||
102 | protected abstract StorageManager CreateStorageManager(string connectionstring, string estateconnectionstring); | ||
103 | protected abstract ClientStackManager CreateClientStackManager(); | ||
104 | |||
105 | protected PhysicsScene GetPhysicsScene(string engine, string meshEngine, IConfigSource config) | 103 | protected PhysicsScene GetPhysicsScene(string engine, string meshEngine, IConfigSource config) |
106 | { | 104 | { |
107 | PhysicsPluginManager physicsPluginManager; | 105 | PhysicsPluginManager physicsPluginManager; |
@@ -110,12 +108,28 @@ namespace OpenSim.Region.ClientStack | |||
110 | return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config); | 108 | return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config); |
111 | } | 109 | } |
112 | 110 | ||
111 | /// <summary> | ||
112 | /// Create a scene and its initial base structures. | ||
113 | /// </summary> | ||
114 | /// <param name="regionInfo"></param> | ||
115 | /// <param name="clientServer"> </param> | ||
116 | /// <returns></returns> | ||
113 | protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) | 117 | protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) |
114 | { | 118 | { |
115 | return SetupScene(regionInfo, 0, out clientServer); | 119 | return SetupScene(regionInfo, 0, null, out clientServer); |
116 | } | 120 | } |
117 | 121 | ||
118 | protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, out IClientNetworkServer clientServer) | 122 | /// <summary> |
123 | /// Create a scene and its initial base structures. | ||
124 | /// </summary> | ||
125 | /// <param name="regionInfo"></param> | ||
126 | /// <param name="proxyOffset"></param> | ||
127 | /// <param name="clientStackUserSettings"></param> | ||
128 | /// <param name="clientServer"> </param> | ||
129 | /// <returns></returns> | ||
130 | protected Scene SetupScene( | ||
131 | RegionInfo regionInfo, int proxyOffset, ClientStackUserSettings clientStackUserSettings, | ||
132 | out IClientNetworkServer clientServer) | ||
119 | { | 133 | { |
120 | AgentCircuitManager circuitManager = new AgentCircuitManager(); | 134 | AgentCircuitManager circuitManager = new AgentCircuitManager(); |
121 | IPAddress listenIP = regionInfo.InternalEndPoint.Address; | 135 | IPAddress listenIP = regionInfo.InternalEndPoint.Address; |
@@ -126,7 +140,7 @@ namespace OpenSim.Region.ClientStack | |||
126 | 140 | ||
127 | clientServer | 141 | clientServer |
128 | = m_clientStackManager.CreateServer( | 142 | = m_clientStackManager.CreateServer( |
129 | listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, new ClientStackUserSettings(), | 143 | listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, clientStackUserSettings, |
130 | m_assetCache, circuitManager); | 144 | m_assetCache, circuitManager); |
131 | 145 | ||
132 | regionInfo.InternalEndPoint.Port = (int)port; | 146 | regionInfo.InternalEndPoint.Port = (int)port; |
@@ -172,8 +186,5 @@ namespace OpenSim.Region.ClientStack | |||
172 | 186 | ||
173 | return scene; | 187 | return scene; |
174 | } | 188 | } |
175 | |||
176 | protected abstract Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, | ||
177 | AgentCircuitManager circuitManager); | ||
178 | } | 189 | } |
179 | } | 190 | } |