Author: gsim
Date: Tue Apr 22 13:31:00 2008
New Revision: 650640
URL: http://svn.apache.org/viewvc?rev=650640&view=rev
Log:
QPID-920: allow applications to trigger the sending of a flush to server
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.h
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.cpp?rev=650640&r1=650639&r2=650640&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.cpp Tue Apr 22
13:31:00 2008
@@ -43,6 +43,11 @@
return *impl;
}
+void SessionBase::flush()
+{
+ impl->sendFlush();
+}
+
void SessionBase::sync()
{
ExecutionSyncBody b;
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.h?rev=650640&r1=650639&r2=650640&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase.h Tue Apr 22
13:31:00 2008
@@ -131,6 +131,7 @@
Execution& getExecution();
void sync();
+ void flush();
void markCompleted(const framing::SequenceNumber& id, bool cumulative,
bool notifyPeer);
void sendCompletion();
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp?rev=650640&r1=650639&r2=650640&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp Tue Apr 22
13:31:00 2008
@@ -525,6 +525,12 @@
sendCompletionImpl();
}
+void SessionImpl::sendFlush()
+{
+ Lock l(state);
+ proxy.flush(false, false, true);
+}
+
void SessionImpl::sendCompletionImpl()
{
proxy.completed(completedIn, true);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h?rev=650640&r1=650639&r2=650640&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h Tue Apr 22
13:31:00 2008
@@ -88,6 +88,7 @@
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);