diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2010-01-21 06:17:10 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2010-01-21 06:17:10 +0000 |
| commit | df3fe9778d87dd256a2d4c08146d86830ac1e8be (patch) | |
| tree | 23f64b58e3ec94c6024368d1b90910db9d711c84 /cpp/src/qpid/client/Connector.h | |
| parent | 66266d1f34066c5960ae1eb4f28b8c7758cb46c9 (diff) | |
| download | qpid-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.h | 33 |
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; - }; }} |
