summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/Connector.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/Connector.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/Connector.h')
-rw-r--r--cpp/src/qpid/client/Connector.h17
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();