diff options
author | lbsa71 | 2007-09-27 13:25:45 +0000 |
---|---|---|
committer | lbsa71 | 2007-09-27 13:25:45 +0000 |
commit | 8143c597fc5f62ec0d931d2d5b887730e06aec04 (patch) | |
tree | ae67873a5f801b2b7bdf9a7b088db98beb97b5ac /OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |
parent | Terrain: (diff) | |
download | opensim-SC_OLD-8143c597fc5f62ec0d931d2d5b887730e06aec04.zip opensim-SC_OLD-8143c597fc5f62ec0d931d2d5b887730e06aec04.tar.gz opensim-SC_OLD-8143c597fc5f62ec0d931d2d5b887730e06aec04.tar.bz2 opensim-SC_OLD-8143c597fc5f62ec0d931d2d5b887730e06aec04.tar.xz |
* Tleiades grid mode inventory (#444) - thanx Tleiades!
* updated to rev 1413 on libsecondlife.dll and libsecondlife.dll.config (#423)
Diffstat (limited to 'OpenSim/Region/Communications/OGS1/OGS1GridServices.cs')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 1b4b54c..0b78c83 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -5,6 +5,7 @@ using System.Net; | |||
5 | using System.Runtime.Remoting; | 5 | using System.Runtime.Remoting; |
6 | using System.Runtime.Remoting.Channels; | 6 | using System.Runtime.Remoting.Channels; |
7 | using System.Runtime.Remoting.Channels.Tcp; | 7 | using System.Runtime.Remoting.Channels.Tcp; |
8 | using System.Runtime.Serialization.Formatters; | ||
8 | using libsecondlife; | 9 | using libsecondlife; |
9 | using Nwc.XmlRpc; | 10 | using Nwc.XmlRpc; |
10 | using OpenSim.Framework; | 11 | using OpenSim.Framework; |
@@ -302,8 +303,23 @@ namespace OpenSim.Region.Communications.OGS1 | |||
302 | /// </summary> | 303 | /// </summary> |
303 | private void StartRemoting() | 304 | private void StartRemoting() |
304 | { | 305 | { |
305 | TcpChannel ch = new TcpChannel(this.serversInfo.RemotingListenerPort); | 306 | // we only need to register the tcp channel once, and we don't know which other modules use remoting |
306 | ChannelServices.RegisterChannel(ch, true); | 307 | if (ChannelServices.GetChannel("tcp") == null) |
308 | { | ||
309 | // Creating a custom formatter for a TcpChannel sink chain. | ||
310 | BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider(); | ||
311 | serverProvider.TypeFilterLevel = TypeFilterLevel.Full; | ||
312 | |||
313 | BinaryClientFormatterSinkProvider clientProvider = new BinaryClientFormatterSinkProvider(); | ||
314 | |||
315 | IDictionary props = new Hashtable(); | ||
316 | props["port"] = this.serversInfo.RemotingListenerPort; | ||
317 | props["typeFilterLevel"] = TypeFilterLevel.Full; | ||
318 | |||
319 | TcpChannel ch = new TcpChannel(props, clientProvider, serverProvider); | ||
320 | |||
321 | ChannelServices.RegisterChannel(ch, true); | ||
322 | } | ||
307 | 323 | ||
308 | WellKnownServiceTypeEntry wellType = new WellKnownServiceTypeEntry(typeof(OGS1InterRegionRemoting), "InterRegions", WellKnownObjectMode.Singleton); | 324 | WellKnownServiceTypeEntry wellType = new WellKnownServiceTypeEntry(typeof(OGS1InterRegionRemoting), "InterRegions", WellKnownObjectMode.Singleton); |
309 | RemotingConfiguration.RegisterWellKnownServiceType(wellType); | 325 | RemotingConfiguration.RegisterWellKnownServiceType(wellType); |