diff options
| author | Gordon Sim <gsim@apache.org> | 2008-04-29 20:15:18 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2008-04-29 20:15:18 +0000 |
| commit | acc0dee435e1fa22e3b1e7cdfecf6913bf88988e (patch) | |
| tree | 729f7a03543acf23380e68897f8788a3e6b45e2e /cpp/src/qpid/client/Connector.h | |
| parent | a19ce3b1863f80c1232ec2690cd920325a39d71a (diff) | |
| download | qpid-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/Connector.h')
| -rw-r--r-- | cpp/src/qpid/client/Connector.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/cpp/src/qpid/client/Connector.h b/cpp/src/qpid/client/Connector.h index 366f82acbd..9b13e1d519 100644 --- a/cpp/src/qpid/client/Connector.h +++ b/cpp/src/qpid/client/Connector.h @@ -31,17 +31,21 @@ #include "qpid/sys/TimeoutHandler.h" #include "qpid/sys/Thread.h" #include "qpid/sys/Runnable.h" -#include "qpid/sys/Monitor.h" +#include "qpid/sys/Mutex.h" #include "qpid/sys/Socket.h" #include "qpid/sys/Time.h" #include "qpid/sys/AsynchIO.h" #include <queue> +#include <boost/shared_ptr.hpp> namespace qpid { namespace client { +class Bounds; +class ConnectionSettings; + class Connector : public framing::OutputHandler, private sys::Runnable { @@ -52,6 +56,7 @@ class Connector : public framing::OutputHandler, typedef sys::AsynchIO::BufferBase BufferBase; typedef std::vector<framing::AMQFrame> Frames; + const uint16_t maxFrameSize; sys::Mutex lock; sys::AsynchIO* aio; BufferBase* buffer; @@ -60,22 +65,21 @@ class Connector : public framing::OutputHandler, framing::Buffer encode; size_t framesEncoded; std::string identifier; + Bounds* bounds; void writeOne(const sys::Mutex::ScopedLock&); void newBuffer(const sys::Mutex::ScopedLock&); public: - Writer(); + Writer(uint16_t maxFrameSize, Bounds*); ~Writer(); void init(std::string id, sys::AsynchIO*); void handle(framing::AMQFrame&); void write(sys::AsynchIO&); }; - const bool debug; - const int receive_buffer_size; - const int send_buffer_size; + const uint16_t maxFrameSize; framing::ProtocolVersion version; bool initiated; @@ -122,7 +126,8 @@ class Connector : public framing::OutputHandler, public: Connector(framing::ProtocolVersion pVersion, - bool debug = false, uint32_t buffer_size = 1024); + const ConnectionSettings&, + Bounds* bounds = 0); virtual ~Connector(); virtual void connect(const std::string& host, int port); virtual void init(); |
