Qpid C++ Messaging API  0.26
 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 ()
 
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 ~Connection ()
 
QPID_MESSAGING_EXTERN Connectionoperator= (const Connection &)
 
QPID_MESSAGING_EXTERN void setOption (const std::string &name, const qpid::types::Variant &value)
 
QPID_MESSAGING_EXTERN void open ()
 
QPID_MESSAGING_EXTERN bool isOpen ()
 
QPID_MESSAGING_EXTERN bool isOpen () const
 
QPID_MESSAGING_EXTERN void reconnect (const std::string &url)
 
QPID_MESSAGING_EXTERN void reconnect ()
 
QPID_MESSAGING_EXTERN std::string getUrl () const
 
QPID_MESSAGING_EXTERN void close ()
 
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 bool isValid () const
 
QPID_MESSAGING_INLINE_EXTERN bool isNull () const
 
QPID_MESSAGING_INLINE_EXTERN operator bool () const
 
QPID_MESSAGING_INLINE_EXTERN bool operator! () const
 
void swap (Handle< ConnectionImpl > &h)
 

Friends

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_INLINE_EXTERN Handle ()
 
- Protected Attributes inherited from qpid::messaging::Handle< ConnectionImpl >
Implimpl
 

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.

Exceptions
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 std::string qpid::messaging::Connection::getUrl ( ) const

returns a url reprsenting the broker the client is currently connected to (or an e,pty string if it is not connected).

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::reconnect ( const std::string &  url)

Attempts to reconnect to the specified url, re-establish existing sessions, senders and receivers and resend any indoubt messages.

This can be used to directly control reconnect behaviour rather than using the reconnect option for automatically handling that.

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

Attempts to reconnect to the original url, including any specified reconnect_urls, re-establish existing sessions, senders and receivers and resend any indoubt messages.

This can be used to directly control reconnect behaviour rather than using the reconnect option for automatically handling that.

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: