diff options
Diffstat (limited to 'cpp/src/Ice/Instance.cpp')
-rw-r--r-- | cpp/src/Ice/Instance.cpp | 52 |
1 files changed, 15 insertions, 37 deletions
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index 23b4b9671cb..193ca7fc37e 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -19,7 +19,6 @@ #include <Ice/ProxyFactory.h> #include <Ice/ThreadPool.h> #include <Ice/ConnectionFactory.h> -#include <Ice/ConnectionMonitor.h> #include <Ice/ObjectFactoryManager.h> #include <Ice/LocalException.h> #include <Ice/ObjectAdapterFactory.h> @@ -244,20 +243,6 @@ IceInternal::Instance::outgoingConnectionFactory() const return _outgoingConnectionFactory; } -ConnectionMonitorPtr -IceInternal::Instance::connectionMonitor() const -{ - IceUtil::RecMutex::Lock sync(*this); - - if(_state == StateDestroyed) - { - throw CommunicatorDestroyedException(__FILE__, __LINE__); - } - - assert(_connectionMonitor); - return _connectionMonitor; -} - ObjectFactoryManagerPtr IceInternal::Instance::servantFactoryManager() const { @@ -420,14 +405,14 @@ IceInternal::Instance::pluginManager() const return _pluginManager; } -int +const ACMConfig& IceInternal::Instance::clientACM() const { // No mutex lock, immutable. return _clientACM; } -int +const ACMConfig& IceInternal::Instance::serverACM() const { // No mutex lock, immutable. @@ -851,8 +836,6 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi _state(StateActive), _initData(initData), _messageSizeMax(0), - _clientACM(0), - _serverACM(0), _implicitContext(0), _stringConverter(IceUtil::getProcessStringConverter()), _wstringConverter(IceUtil::getProcessWstringConverter()) @@ -1034,6 +1017,19 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) = new DefaultsAndOverrides(_initData.properties); + const ACMConfig defaultClientACM(_initData.properties, _initData.logger, "Ice.ACM", ACMConfig(false)); + const ACMConfig defaultServerACM(_initData.properties, _initData.logger, "Ice.ACM", ACMConfig(true)); + + const_cast<ACMConfig&>(_clientACM) = ACMConfig(_initData.properties, + _initData.logger, + "Ice.ACM.Client", + defaultClientACM); + + const_cast<ACMConfig&>(_serverACM) = ACMConfig(_initData.properties, + _initData.logger, + "Ice.ACM.Server", + defaultServerACM); + { static const int defaultMessageSizeMax = 1024; Int num = _initData.properties->getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax); @@ -1055,8 +1051,6 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi // // Client ACM enabled by default. Server ACM disabled by default. // - const_cast<Int&>(_clientACM) = _initData.properties->getPropertyAsIntWithDefault("Ice.ACM.Client", 60); - const_cast<Int&>(_serverACM) = _initData.properties->getPropertyAsInt("Ice.ACM.Server"); #ifndef ICE_OS_WINRT const_cast<ImplicitContextIPtr&>(_implicitContext) = ImplicitContextI::create(_initData.properties->getProperty("Ice.ImplicitContext")); @@ -1203,7 +1197,6 @@ IceInternal::Instance::~Instance() assert(!_proxyFactory); assert(!_outgoingConnectionFactory); - assert(!_connectionMonitor); assert(!_servantFactoryManager); assert(!_objectAdapterFactory); assert(!_clientThreadPool); @@ -1337,15 +1330,6 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[]) } // - // Create the connection monitor and ensure the interval for - // monitoring connections is appropriate for client & server - // ACM. - // - _connectionMonitor = new ConnectionMonitor(this, _initData.properties->getPropertyAsInt("Ice.MonitorConnections")); - _connectionMonitor->checkIntervalForACM(_clientACM); - _connectionMonitor->checkIntervalForACM(_serverACM); - - // // Server thread pool initialization is lazy in serverThreadPool(). // @@ -1446,12 +1430,6 @@ IceInternal::Instance::destroy() _outgoingConnectionFactory = 0; _retryQueue = 0; - if(_connectionMonitor) - { - _connectionMonitor->destroy(); - _connectionMonitor = 0; - } - if(_serverThreadPool) { _serverThreadPool->destroy(); |