diff options
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 319eb011ac6..69484964d65 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -132,6 +132,11 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts { *q = (*q)->timeout(defaultsAndOverrides->overrideTimeoutValue); } + + if(defaultsAndOverrides->overrideCompress) + { + *q = (*q)->compress(defaultsAndOverrides->overrideCompressValue); + } } // @@ -334,11 +339,17 @@ IceInternal::OutgoingConnectionFactory::setRouter(const RouterPrx& router) for(p = proxy->__reference()->endpoints.begin(); p != proxy->__reference()->endpoints.end(); ++p) { EndpointPtr endpoint = *p; + if(defaultsAndOverrides->overrideTimeout) { endpoint = endpoint->timeout(defaultsAndOverrides->overrideTimeoutValue); } + if(defaultsAndOverrides->overrideCompress) + { + endpoint = endpoint->compress(defaultsAndOverrides->overrideCompressValue); + } + pair<multimap<EndpointPtr, ConnectionPtr>::const_iterator, multimap<EndpointPtr, ConnectionPtr>::const_iterator> r = _connections.equal_range(endpoint); @@ -645,11 +656,17 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance _state(StateHolding) { DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides(); + if(defaultsAndOverrides->overrideTimeout) { const_cast<EndpointPtr&>(_endpoint) = _endpoint->timeout(defaultsAndOverrides->overrideTimeoutValue); } + if(defaultsAndOverrides->overrideCompress) + { + const_cast<EndpointPtr&>(_endpoint) = _endpoint->compress(defaultsAndOverrides->overrideCompressValue); + } + const_cast<TransceiverPtr&>(_transceiver) = _endpoint->serverTransceiver(const_cast<EndpointPtr&>(_endpoint)); if(_transceiver) { |