summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SessionImpl.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-04-29 20:15:18 +0000
committerGordon Sim <gsim@apache.org>2008-04-29 20:15:18 +0000
commitacc0dee435e1fa22e3b1e7cdfecf6913bf88988e (patch)
tree729f7a03543acf23380e68897f8788a3e6b45e2e /cpp/src/qpid/client/SessionImpl.h
parenta19ce3b1863f80c1232ec2690cd920325a39d71a (diff)
downloadqpid-python-acc0dee435e1fa22e3b1e7cdfecf6913bf88988e.tar.gz
QPID-974: allow the size of the queue of outgoing frames to be restricted
QPID-544: tidy up configuration (ensuring desired settings are used correctly, allowing tcp socket options to be set etc) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652083 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SessionImpl.h')
-rw-r--r--cpp/src/qpid/client/SessionImpl.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/SessionImpl.h b/cpp/src/qpid/client/SessionImpl.h
index 3b2e80fefd..0bcec4dd0c 100644
--- a/cpp/src/qpid/client/SessionImpl.h
+++ b/cpp/src/qpid/client/SessionImpl.h
@@ -33,6 +33,7 @@
#include "qpid/framing/SequenceNumber.h"
#include "qpid/framing/AMQP_ClientOperations.h"
#include "qpid/framing/AMQP_ServerProxy.h"
+#include "qpid/sys/Semaphore.h"
#include "qpid/sys/StateMonitor.h"
#include <boost/optional.hpp>
@@ -124,6 +125,7 @@ private:
void handleIn(framing::AMQFrame& frame);
void handleOut(framing::AMQFrame& frame);
+ void proxyOut(framing::AMQFrame& frame);
void deliver(framing::AMQFrame& frame);
Future sendCommand(const framing::AMQBody&, const framing::MethodContent* = 0);
@@ -164,14 +166,15 @@ private:
int code; // Error code
std::string text; // Error text
mutable StateMonitor state;
+ mutable sys::Semaphore sendLock;
volatile bool syncMode;
uint32_t detachedLifetime;
const uint64_t maxFrameSize;
const framing::Uuid id;
const std::string name;
-
shared_ptr<ConnectionImpl> connection;
+ framing::FrameHandler::MemFunRef<SessionImpl, &SessionImpl::proxyOut> ioHandler;
framing::ChannelHandler channel;
framing::AMQP_ServerProxy::Session proxy;