summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp17
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)
{