From acc0dee435e1fa22e3b1e7cdfecf6913bf88988e Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 29 Apr 2008 20:15:18 +0000 Subject: 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 --- cpp/src/qpid/client/ConnectionImpl.h | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'cpp/src/qpid/client/ConnectionImpl.h') diff --git a/cpp/src/qpid/client/ConnectionImpl.h b/cpp/src/qpid/client/ConnectionImpl.h index d0df9238f2..986b044b49 100644 --- a/cpp/src/qpid/client/ConnectionImpl.h +++ b/cpp/src/qpid/client/ConnectionImpl.h @@ -22,22 +22,26 @@ #ifndef _ConnectionImpl_ #define _ConnectionImpl_ -#include -#include -#include +#include "Bounds.h" +#include "ConnectionHandler.h" +#include "Connector.h" #include "qpid/framing/FrameHandler.h" #include "qpid/sys/Mutex.h" #include "qpid/sys/ShutdownHandler.h" #include "qpid/sys/TimeoutHandler.h" -#include "ConnectionHandler.h" -#include "Connector.h" + +#include +#include +#include namespace qpid { namespace client { +class ConnectionSettings; class SessionImpl; -class ConnectionImpl : public framing::FrameHandler, +class ConnectionImpl : public Bounds, + public framing::FrameHandler, public sys::TimeoutHandler, public sys::ShutdownHandler @@ -47,7 +51,7 @@ class ConnectionImpl : public framing::FrameHandler, SessionMap sessions; ConnectionHandler handler; - boost::shared_ptr connector; + Connector connector; framing::ProtocolVersion version; sys::Mutex lock; bool isClosed; @@ -55,6 +59,8 @@ class ConnectionImpl : public framing::FrameHandler, template void detachAll(const F&); + void open(const std::string& host, int port); + SessionVector closeInternal(const sys::Mutex::ScopedLock&); void incoming(framing::AMQFrame& frame); void closed(uint16_t, const std::string&); @@ -64,21 +70,16 @@ class ConnectionImpl : public framing::FrameHandler, bool setClosing(); public: - typedef boost::shared_ptr shared_ptr; - - ConnectionImpl(boost::shared_ptr c); + ConnectionImpl(framing::ProtocolVersion version, const ConnectionSettings& settings); ~ConnectionImpl(); void addSession(const boost::shared_ptr&); - void open(const std::string& host, int port = 5672, - const std::string& uid = "guest", - const std::string& pwd = "guest", - const std::string& virtualhost = "/"); void close(); void handle(framing::AMQFrame& frame); void erase(uint16_t channel); - boost::shared_ptr getConnector() { return connector; } + + const ConnectionSettings& getNegotiatedSettings(); }; }} -- cgit v1.2.1