Qpid C++ Messaging API  0.24
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qpid::messaging::Connection Class Reference

#include <Connection.h>

Inheritance diagram for qpid::messaging::Connection:
Collaboration diagram for qpid::messaging::Connection:

Public Member Functions

QPID_MESSAGING_EXTERN Connection (ConnectionImpl *impl)
QPID_MESSAGING_EXTERN Connection (const Connection &)
QPID_MESSAGING_EXTERN Connection (const std::string &url, const qpid::types::Variant::Map &options=qpid::types::Variant::Map())
QPID_MESSAGING_EXTERN Connection (const std::string &url, const std::string &options)
QPID_MESSAGING_EXTERN Connectionoperator= (const Connection &)
QPID_MESSAGING_EXTERN void setOption (const std::string &name, const qpid::types::Variant &value)
QPID_MESSAGING_EXTERN bool isOpen () const
QPID_MESSAGING_EXTERN Session createTransactionalSession (const std::string &name=std::string())
QPID_MESSAGING_EXTERN Session createSession (const std::string &name=std::string())
QPID_MESSAGING_EXTERN Session getSession (const std::string &name) const
QPID_MESSAGING_EXTERN std::string getAuthenticatedUsername ()
- Public Member Functions inherited from qpid::messaging::Handle< ConnectionImpl >
QPID_MESSAGING_INLINE_EXTERN operator bool () const
QPID_MESSAGING_INLINE_EXTERN bool operator! () const
void swap (Handle< ConnectionImpl > &h)


class qpid::messaging::PrivateImplRef< Connection >

Additional Inherited Members

- Protected Types inherited from qpid::messaging::Handle< ConnectionImpl >
typedef ConnectionImpl Impl
- Protected Member Functions inherited from qpid::messaging::Handle< ConnectionImpl >
QPID_MESSAGING_EXTERN Handle (const Handle &)
QPID_MESSAGING_EXTERN Handleoperator= (const Handle &)
- Protected Attributes inherited from qpid::messaging::Handle< ConnectionImpl >
Impl * impl

Detailed Description

A connection represents a network connection to a remote endpoint.

Constructor & Destructor Documentation

QPID_MESSAGING_EXTERN qpid::messaging::Connection::Connection ( ConnectionImpl *  impl)
QPID_MESSAGING_EXTERN qpid::messaging::Connection::Connection ( const Connection )
QPID_MESSAGING_EXTERN qpid::messaging::Connection::Connection ( )
QPID_MESSAGING_EXTERN qpid::messaging::Connection::Connection ( const std::string &  url,
const qpid::types::Variant::Map options = qpid::types::Variant::Map() 

Current implementation supports the following options:

  • heartbeat: the heartbeat interval in seconds
  • tcp_nodelay: true/false, whether nagle should be disabled or not
  • transport: the underlying transport to use (e.g. tcp, ssl, rdma)
  • protocol: the version of AMQP to use (e.g. amqp0-10 or amqp1.0)

(Note: the transports and/or protocols recognised may depend on which plugins are loaded)

  • username: the username to authenticate as
  • password: the password to use if required by the selected authentication mechanism
  • sasl_mechanisms: a space separated list of acceptable SASL mechanisms
  • sasl_min_ssf: the minimum acceptable security strength factor
  • sasl_max_ssf: the maximum acceptable security strength factor
  • sasl_service: the service name if needed by the SASL mechanism in use

Reconnect behaviour can be controlled through the following options:

  • reconnect: true/false (enables/disables reconnect entirely)
  • reconnect_timeout: seconds (give up and report failure after specified time)
  • reconnect_limit: n (give up and report failure after specified number of attempts)
  • reconnect_interval_min: seconds (initial delay between failed reconnection attempts)
  • reconnect_interval_max: seconds (maximum delay between failed reconnection attempts)
  • reconnect_interval: shorthand for setting the same reconnect_interval_min/max
  • reconnect_urls: list of alternate urls to try when connecting

The reconnect_interval is the time that the client waits for after a failed attempt to reconnect before retrying. It starts at the value of the min_retry_interval and is doubled every failure until the value of max_retry_interval is reached.

Values in seconds can be fractional, for example 0.001 is a millisecond delay.

QPID_MESSAGING_EXTERN qpid::messaging::Connection::Connection ( const std::string &  url,
const std::string &  options 

Creates a connection using an option string of the form {name:value,name2:value2...}, see above for options supported.

InvalidOptionStringif the string does not match the correct syntax
QPID_MESSAGING_EXTERN qpid::messaging::Connection::~Connection ( )

Member Function Documentation

QPID_MESSAGING_EXTERN void qpid::messaging::Connection::close ( )

Closes a connection and all sessions associated with it. An opened connection must be closed before the last handle is allowed to go out of scope.

QPID_MESSAGING_EXTERN Session qpid::messaging::Connection::createSession ( const std::string &  name = std::string())
QPID_MESSAGING_EXTERN Session qpid::messaging::Connection::createTransactionalSession ( const std::string &  name = std::string())
QPID_MESSAGING_EXTERN std::string qpid::messaging::Connection::getAuthenticatedUsername ( )
QPID_MESSAGING_EXTERN Session qpid::messaging::Connection::getSession ( const std::string &  name) const
QPID_MESSAGING_EXTERN bool qpid::messaging::Connection::isOpen ( )
QPID_MESSAGING_EXTERN bool qpid::messaging::Connection::isOpen ( ) const
QPID_MESSAGING_EXTERN void qpid::messaging::Connection::open ( )
QPID_MESSAGING_EXTERN Connection& qpid::messaging::Connection::operator= ( const Connection )
QPID_MESSAGING_EXTERN void qpid::messaging::Connection::setOption ( const std::string &  name,
const qpid::types::Variant value 

Friends And Related Function Documentation

The documentation for this class was generated from the following file: