summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Outgoing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Outgoing.cpp')
-rw-r--r--cpp/src/Ice/Outgoing.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index 1b0cb1a9f3a..f61f5494519 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -11,6 +11,7 @@
#include <Ice/Object.h>
#include <Ice/Connection.h>
#include <Ice/Reference.h>
+#include <Ice/Endpoint.h>
#include <Ice/LocalException.h>
using namespace std;
@@ -35,12 +36,13 @@ IceInternal::NonRepeatable::get() const
}
IceInternal::Outgoing::Outgoing(Connection* connection, Reference* ref, const string& operation,
- OperationMode mode, const Context& context) :
+ OperationMode mode, const Context& context, bool compress) :
_connection(connection),
_reference(ref),
_state(StateUnsent),
_is(ref->instance.get()),
- _os(ref->instance.get())
+ _os(ref->instance.get()),
+ _compress(compress)
{
switch(_reference->mode)
{
@@ -113,7 +115,7 @@ IceInternal::Outgoing::invoke()
// this object, so we don't need to lock the mutex, keep
// track of state, or save exceptions.
//
- _connection->sendRequest(&_os, this);
+ _connection->sendRequest(&_os, this, _compress);
//
// Wait until the request has completed, or until the
@@ -220,7 +222,7 @@ IceInternal::Outgoing::invoke()
// propagate to the caller, because such exceptions can be
// retried without violating "at-most-once".
//
- _connection->sendRequest(&_os, 0);
+ _connection->sendRequest(&_os, 0, _compress);
break;
}
@@ -232,7 +234,7 @@ IceInternal::Outgoing::invoke()
// regular oneways and datagrams (see comment above)
// apply.
//
- _connection->finishBatchRequest(&_os);
+ _connection->finishBatchRequest(&_os, _compress);
break;
}
}