diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/client/SessionBase.cpp | 5 | ||||
-rw-r--r-- | cpp/src/qpid/client/SessionBase.h | 1 | ||||
-rw-r--r-- | cpp/src/qpid/client/SessionImpl.cpp | 6 | ||||
-rw-r--r-- | cpp/src/qpid/client/SessionImpl.h | 1 |
4 files changed, 13 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/SessionBase.cpp b/cpp/src/qpid/client/SessionBase.cpp index 4a202842a5..5b9ff595ed 100644 --- a/cpp/src/qpid/client/SessionBase.cpp +++ b/cpp/src/qpid/client/SessionBase.cpp @@ -43,6 +43,11 @@ Execution& SessionBase::getExecution() return *impl; } +void SessionBase::flush() +{ + impl->sendFlush(); +} + void SessionBase::sync() { ExecutionSyncBody b; diff --git a/cpp/src/qpid/client/SessionBase.h b/cpp/src/qpid/client/SessionBase.h index 29a266f4ca..61997244d2 100644 --- a/cpp/src/qpid/client/SessionBase.h +++ b/cpp/src/qpid/client/SessionBase.h @@ -131,6 +131,7 @@ class SessionBase Execution& getExecution(); void sync(); + void flush(); void markCompleted(const framing::SequenceNumber& id, bool cumulative, bool notifyPeer); void sendCompletion(); diff --git a/cpp/src/qpid/client/SessionImpl.cpp b/cpp/src/qpid/client/SessionImpl.cpp index 190141c411..4f3869319c 100644 --- a/cpp/src/qpid/client/SessionImpl.cpp +++ b/cpp/src/qpid/client/SessionImpl.cpp @@ -525,6 +525,12 @@ void SessionImpl::sendCompletion() sendCompletionImpl(); } +void SessionImpl::sendFlush() +{ + Lock l(state); + proxy.flush(false, false, true); +} + void SessionImpl::sendCompletionImpl() { proxy.completed(completedIn, true); diff --git a/cpp/src/qpid/client/SessionImpl.h b/cpp/src/qpid/client/SessionImpl.h index eb1c0acb97..86820dbb92 100644 --- a/cpp/src/qpid/client/SessionImpl.h +++ b/cpp/src/qpid/client/SessionImpl.h @@ -88,6 +88,7 @@ public: bool isCompleteUpTo(const framing::SequenceNumber& id); void waitForCompletion(const framing::SequenceNumber& id); void sendCompletion(); + void sendFlush(); //NOTE: these are called by the network thread when the connection is closed or dies void connectionClosed(uint16_t code, const std::string& text); |