summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2004-06-29 18:28:25 +0000
committerMarc Laukien <marc@zeroc.com>2004-06-29 18:28:25 +0000
commitf098ebef83642e89e32296f4448cce7ae9437f73 (patch)
tree642ce0df570dc1743dd19364d4ff8dcf962e8b4f /cpp/src
parentbug fix for empty local class (diff)
downloadice-f098ebef83642e89e32296f4448cce7ae9437f73.tar.bz2
ice-f098ebef83642e89e32296f4448cce7ae9437f73.tar.xz
ice-f098ebef83642e89e32296f4448cce7ae9437f73.zip
fixes
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/Connection.cpp30
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp56
-rw-r--r--cpp/src/IcePatch/Client.cpp16
3 files changed, 74 insertions, 28 deletions
diff --git a/cpp/src/Ice/Connection.cpp b/cpp/src/Ice/Connection.cpp
index eeec4f100e0..c95653f48b2 100644
--- a/cpp/src/Ice/Connection.cpp
+++ b/cpp/src/Ice/Connection.cpp
@@ -425,7 +425,7 @@ IceInternal::Connection::sendRequest(BasicStream* os, Outgoing* out, bool compre
if(compress && os->b.size() >= 100) // Only compress messages larger than 100 bytes.
{
//
- // Message compressed, request compressed response.
+ // Message compressed. Request compressed response, if any.
//
os->b[9] = 2;
@@ -445,10 +445,10 @@ IceInternal::Connection::sendRequest(BasicStream* os, Outgoing* out, bool compre
}
else
{
- if(out && compress)
+ if(compress)
{
//
- // Message not compressed, but request compressed response.
+ // Message not compressed. Request compressed response, if any.
//
os->b[9] = 1;
}
@@ -586,7 +586,7 @@ IceInternal::Connection::sendAsyncRequest(BasicStream* os, const OutgoingAsyncPt
if(compress && os->b.size() >= 100) // Only compress messages larger than 100 bytes.
{
//
- // Message compressed, request compressed response.
+ // Message compressed. Request compressed response, if any.
//
os->b[9] = 2;
@@ -609,7 +609,7 @@ IceInternal::Connection::sendAsyncRequest(BasicStream* os, const OutgoingAsyncPt
if(compress)
{
//
- // Message not compressed, but request compressed response.
+ // Message not compressed. Request compressed response, if any.
//
os->b[9] = 1;
}
@@ -808,7 +808,7 @@ IceInternal::Connection::flushBatchRequest()
if(_batchRequestCompress && _batchStream.b.size() >= 100) // Only compress messages larger than 100 bytes.
{
//
- // Message compressed, request compressed response.
+ // Message compressed. Request compressed response, if any.
//
_batchStream.b[9] = 2;
@@ -828,6 +828,14 @@ IceInternal::Connection::flushBatchRequest()
}
else
{
+ if(_batchRequestCompress)
+ {
+ //
+ // Message not compressed. Request compressed response, if any.
+ //
+ _batchStream.b[9] = 1;
+ }
+
//
// No compression, just fill in the message size.
//
@@ -896,7 +904,7 @@ IceInternal::Connection::sendResponse(BasicStream* os, Byte compressFlag)
if(compressFlag > 0 && os->b.size() >= 100)
{
//
- // Response is compressed.
+ // Message compressed. Request compressed response, if any.
//
os->b[9] = 2;
@@ -916,6 +924,14 @@ IceInternal::Connection::sendResponse(BasicStream* os, Byte compressFlag)
}
else
{
+ if(compressFlag > 0)
+ {
+ //
+ // Message not compressed. Request compressed response, if any.
+ //
+ os->b[9] = 1;
+ }
+
//
// No compression, just fill in the message size.
//
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index 231632a6fcc..49eeb55a08c 100644
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.cpp
@@ -126,13 +126,12 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
//
// Modify endpoints with overrides.
//
- DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
vector<EndpointPtr>::iterator q;
for(q = endpoints.begin(); q != endpoints.end(); ++q)
{
- if(defaultsAndOverrides->overrideTimeout)
+ if(_instance->defaultsAndOverrides()->overrideTimeout)
{
- *q = (*q)->timeout(defaultsAndOverrides->overrideTimeoutValue);
+ *q = (*q)->timeout(_instance->defaultsAndOverrides()->overrideTimeoutValue);
}
//
@@ -164,7 +163,15 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
//
if(!pr.first->second->isDestroyed())
{
- compress = (*r)->compress();
+ if(_instance->defaultsAndOverrides()->overrideCompress)
+ {
+ compress = _instance->defaultsAndOverrides()->overrideCompressValue;
+ }
+ else
+ {
+ compress = (*r)->compress();
+ }
+
return pr.first->second;
}
@@ -222,7 +229,15 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
//
if(!pr.first->second->isDestroyed())
{
- compress = (*r)->compress();
+ if(_instance->defaultsAndOverrides()->overrideCompress)
+ {
+ compress = _instance->defaultsAndOverrides()->overrideCompressValue;
+ }
+ else
+ {
+ compress = (*r)->compress();
+ }
+
return pr.first->second;
}
@@ -258,10 +273,9 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
assert(connector);
Int timeout;
- DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
- if(defaultsAndOverrides->overrideConnectTimeout)
+ if(_instance->defaultsAndOverrides()->overrideConnectTimeout)
{
- timeout = defaultsAndOverrides->overrideConnectTimeoutValue;
+ timeout = _instance->defaultsAndOverrides()->overrideConnectTimeoutValue;
}
// It is not necessary to check for overrideTimeout,
// the endpoint has already been modified with this
@@ -276,7 +290,14 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
}
connection = new Connection(_instance, transceiver, endpoint, 0);
connection->validate();
- compress = (*r)->compress();
+ if(_instance->defaultsAndOverrides()->overrideCompress)
+ {
+ compress = _instance->defaultsAndOverrides()->overrideCompressValue;
+ }
+ else
+ {
+ compress = (*r)->compress();
+ }
break;
}
catch(const LocalException& ex)
@@ -362,7 +383,6 @@ IceInternal::OutgoingConnectionFactory::setRouter(const RouterPrx& router)
//
ObjectPrx proxy = routerInfo->getClientProxy();
ObjectAdapterPtr adapter = routerInfo->getAdapter();
- DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
vector<EndpointPtr>::const_iterator p;
for(p = proxy->__reference()->endpoints.begin(); p != proxy->__reference()->endpoints.end(); ++p)
{
@@ -371,9 +391,9 @@ IceInternal::OutgoingConnectionFactory::setRouter(const RouterPrx& router)
//
// Modify endpoints with overrides.
//
- if(defaultsAndOverrides->overrideTimeout)
+ if(_instance->defaultsAndOverrides()->overrideTimeout)
{
- endpoint = endpoint->timeout(defaultsAndOverrides->overrideTimeoutValue);
+ endpoint = endpoint->timeout(_instance->defaultsAndOverrides()->overrideTimeoutValue);
}
//
@@ -763,16 +783,16 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
_warn(_instance->properties()->getPropertyAsInt("Ice.Warn.Connections") > 0),
_state(StateHolding)
{
- DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
-
- if(defaultsAndOverrides->overrideTimeout)
+ if(_instance->defaultsAndOverrides()->overrideTimeout)
{
- const_cast<EndpointPtr&>(_endpoint) = _endpoint->timeout(defaultsAndOverrides->overrideTimeoutValue);
+ const_cast<EndpointPtr&>(_endpoint) =
+ _endpoint->timeout(_instance->defaultsAndOverrides()->overrideTimeoutValue);
}
- if(defaultsAndOverrides->overrideCompress)
+ if(_instance->defaultsAndOverrides()->overrideCompress)
{
- const_cast<EndpointPtr&>(_endpoint) = _endpoint->compress(defaultsAndOverrides->overrideCompressValue);
+ const_cast<EndpointPtr&>(_endpoint) =
+ _endpoint->compress(_instance->defaultsAndOverrides()->overrideCompressValue);
}
const_cast<TransceiverPtr&>(_transceiver) = _endpoint->serverTransceiver(const_cast<EndpointPtr&>(_endpoint));
diff --git a/cpp/src/IcePatch/Client.cpp b/cpp/src/IcePatch/Client.cpp
index 87154eb48f4..ceeab0fc9fe 100644
--- a/cpp/src/IcePatch/Client.cpp
+++ b/cpp/src/IcePatch/Client.cpp
@@ -484,8 +484,8 @@ typedef set<string> OrphanedSet;
#endif
void
-IcePatch::Client::patch(const DirectoryDescPtr& dirDesc, const string& indent, Long& runningTotal,
- Long patchTotal) const
+IcePatch::Client::patch(const DirectoryDescPtr& dirDesc, const string& indent,
+ Long& runningTotal, Long patchTotal) const
{
OrphanedSet orphaned;
if(_remove)
@@ -683,9 +683,19 @@ IcePatch::Client::patch(const DirectoryDescPtr& dirDesc, const string& indent, L
while(true)
{
//
+ // We don't want to use compression when we
+ // retrieve files, since files are pre-compressed
+ // already. (Disabling compression here is only
+ // relevant if a router is used. Otherwise, the
+ // icepatch server already gives us a proxy for
+ // the regular file with compression disabled.)
+ //
+ RegularPrx regular = RegularPrx::uncheckedCast(regDesc->reg->ice_compress(false));
+
+ //
// Retrieve file from server.
//
- ByteSeq md5 = getRegular(regDesc->reg, progressCB);
+ ByteSeq md5 = getRegular(regular, progressCB);
//
// Get the latest file description from server, as