summaryrefslogtreecommitdiff
path: root/cs/src/Ice/Instance.cs
diff options
context:
space:
mode:
Diffstat (limited to 'cs/src/Ice/Instance.cs')
-rw-r--r--cs/src/Ice/Instance.cs20
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;