diff options
Diffstat (limited to 'cs/src/Ice/Instance.cs')
-rw-r--r-- | cs/src/Ice/Instance.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cs/src/Ice/Instance.cs b/cs/src/Ice/Instance.cs index 03b6a11fb06..3ec55288b22 100644 --- a/cs/src/Ice/Instance.cs +++ b/cs/src/Ice/Instance.cs @@ -117,6 +117,20 @@ namespace IceInternal } } + public RequestHandlerFactory requestHandlerFactory() + { + lock(this) + { + if(_state == StateDestroyed) + { + throw new Ice.CommunicatorDestroyedException(); + } + + Debug.Assert(_requestHandlerFactory != null); + return _requestHandlerFactory; + } + } + public ProxyFactory proxyFactory() { lock(this) @@ -817,6 +831,8 @@ namespace IceInternal _proxyFactory = new ProxyFactory(this); + _requestHandlerFactory = new RequestHandlerFactory(this); + bool ipv4 = _initData.properties.getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0; bool ipv6 = _initData.properties.getPropertyAsIntWithDefault("Ice.IPv6", 1) > 0; if(!ipv4 && !ipv6) @@ -1178,6 +1194,9 @@ namespace IceInternal _referenceFactory = null; // No destroy function defined. + _requestHandlerFactory = null; + + // No destroy function defined. // _proxyFactory.destroy(); _proxyFactory = null; @@ -1421,6 +1440,7 @@ namespace IceInternal private RouterManager _routerManager; private LocatorManager _locatorManager; private ReferenceFactory _referenceFactory; + private RequestHandlerFactory _requestHandlerFactory; private ProxyFactory _proxyFactory; private OutgoingConnectionFactory _outgoingConnectionFactory; private ObjectFactoryManager _servantFactoryManager; |