summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/Connector.h
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2010-01-21 06:17:10 +0000
committerAndrew Stitcher <astitcher@apache.org>2010-01-21 06:17:10 +0000
commitdf3fe9778d87dd256a2d4c08146d86830ac1e8be (patch)
tree23f64b58e3ec94c6024368d1b90910db9d711c84 /cpp/src/qpid/client/Connector.h
parent66266d1f34066c5960ae1eb4f28b8c7758cb46c9 (diff)
downloadqpid-python-df3fe9778d87dd256a2d4c08146d86830ac1e8be.tar.gz
QPID-1879 Don't use a thread for every new client Connection
- By default the max number of threads now used for network io is the number of cpus available. - This can be overridden with the QPID_MAX_IOTHREADS environment variable or the config file - The client threads are initialised (via a singleton) when first used in a Connection::open() git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@901550 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/Connector.h')
-rw-r--r--cpp/src/qpid/client/Connector.h33
1 files changed, 16 insertions, 17 deletions
diff --git a/cpp/src/qpid/client/Connector.h b/cpp/src/qpid/client/Connector.h
index 3a49ae9012..0203895b00 100644
--- a/cpp/src/qpid/client/Connector.h
+++ b/cpp/src/qpid/client/Connector.h
@@ -22,27 +22,24 @@
#define _Connector_
-#include "qpid/framing/InputHandler.h"
#include "qpid/framing/OutputHandler.h"
-#include "qpid/framing/InitiationHandler.h"
-#include "qpid/framing/ProtocolInitiation.h"
#include "qpid/framing/ProtocolVersion.h"
-#include "qpid/sys/ShutdownHandler.h"
-#include "qpid/sys/TimeoutHandler.h"
-#include "qpid/sys/Thread.h"
-#include "qpid/sys/Runnable.h"
-#include "qpid/sys/Mutex.h"
-#include "qpid/sys/Socket.h"
-#include "qpid/sys/Time.h"
-
-#include <queue>
-#include <boost/weak_ptr.hpp>
+
#include <boost/shared_ptr.hpp>
+#include <string>
+
namespace qpid {
namespace sys {
+class ShutdownHandler;
class SecurityLayer;
+class Poller;
+}
+
+namespace framing {
+class InputHandler;
+class AMQFrame;
}
namespace client {
@@ -52,11 +49,14 @@ class ConnectionImpl;
///@internal
class Connector : public framing::OutputHandler
-{
+{
public:
// Protocol connector factory related stuff (it might be better to separate this code from the TCP Connector in the future)
- typedef Connector* Factory(framing::ProtocolVersion, const ConnectionSettings&, ConnectionImpl*);
- static Connector* create(const std::string& proto, framing::ProtocolVersion, const ConnectionSettings&, ConnectionImpl*);
+ typedef Connector* Factory(boost::shared_ptr<qpid::sys::Poller>,
+ framing::ProtocolVersion, const ConnectionSettings&, ConnectionImpl*);
+ static Connector* create(const std::string& proto,
+ boost::shared_ptr<qpid::sys::Poller>,
+ framing::ProtocolVersion, const ConnectionSettings&, ConnectionImpl*);
static void registerFactory(const std::string& proto, Factory* connectorFactory);
virtual ~Connector() {};
@@ -75,7 +75,6 @@ class Connector : public framing::OutputHandler
virtual void activateSecurityLayer(std::auto_ptr<qpid::sys::SecurityLayer>);
virtual unsigned int getSSF() = 0;
-
};
}}