A connection represents a network connection to a remote endpoint.
More...
#include <qpid/messaging/Connection.h>
|
| Connection (ConnectionImpl *impl) |
|
| Connection (const Connection &) |
|
| Connection () |
|
| Connection (const std::string &url, const qpid::types::Variant::Map &options=qpid::types::Variant::Map()) |
| Current implementation supports the following options: More...
|
|
| 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. More...
|
|
| ~Connection () |
|
Connection & | operator= (const Connection &) |
|
void | setOption (const std::string &name, const qpid::types::Variant &value) |
|
void | open () |
|
bool | isOpen () |
|
bool | isOpen () const |
|
void | reconnect (const std::string &url) |
| Attempts to reconnect to the specified url, re-establish existing sessions, senders and receivers and resend any indoubt messages. More...
|
|
void | 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. More...
|
|
std::string | getUrl () const |
| returns a url reprsenting the broker the client is currently connected to (or an empty string if it is not connected). More...
|
|
void | close () |
| Closes a connection and all sessions associated with it. More...
|
|
Session | createTransactionalSession (const std::string &name=std::string()) |
|
Session | createSession (const std::string &name=std::string()) |
|
Session | getSession (const std::string &name) const |
|
std::string | getAuthenticatedUsername () |
|
QPID_MESSAGING_INLINE_EXTERN bool | isValid () const |
|
QPID_MESSAGING_INLINE_EXTERN bool | isNull () const |
|
QPID_MESSAGING_INLINE_EXTERN | operator bool () const |
| Conversion to bool supports idiom if (handle) { handle->... More...
|
|
QPID_MESSAGING_INLINE_EXTERN bool | operator! () const |
| Operator ! supports idiom if (!handle) { do_if_handle_is_null(); }. More...
|
|
void | swap (Handle< ConnectionImpl > &h) |
|
|
typedef ConnectionImpl | Impl |
|
A connection represents a network connection to a remote endpoint.
Definition at line 45 of file Connection.h.
qpid::messaging::Connection::Connection |
( |
ConnectionImpl * |
impl | ) |
|
qpid::messaging::Connection::Connection |
( |
const Connection & |
| ) |
|
qpid::messaging::Connection::Connection |
( |
| ) |
|
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. AT present support for heartbeats is missing in AMQP 1.0)
- 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.
If the SSL transport is used, the following options apply:
- ssl_cert_name: the name of the certificate to use for a given
- connection ssl_ignore_hostname_verification_failure: if set to true, will allow client to connect to server even if the hostname used (or ip address) doesn't match what is in the servers certificate. I.e. this disables authentication of the server to the client (and should be used only as a last resort)
When AMQP 1.0 is used, the following options apply:
- container_id: sets the container id to use for the connection
- nest_annotations: if true, any annotations in received messages will be presented as properties with keys x-amqp-delivery-annotations or x-amqp-delivery-annotations and values that are nested maps containing the annotations. If false, the annotations will simply be merged in with the properties.
- set_to_on_send: If true, all sent messages will have the to field set to the node name of the sender
- properties or client_properties: the properties to include in the open frame sent
The following options can be used to tune behaviour if needed (these are not yet supported over AMQP 1.0):
- tcp_nodelay: disables Nagle's algorithm on the underlying tcp socket
- max_channels: restricts the maximum number of channels supported
- max_frame_size: restricts the maximum frame size supported
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
-
qpid::messaging::Connection::~Connection |
( |
| ) |
|
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.
Session qpid::messaging::Connection::createSession |
( |
const std::string & |
name = std::string() | ) |
|
Session qpid::messaging::Connection::createTransactionalSession |
( |
const std::string & |
name = std::string() | ) |
|
std::string qpid::messaging::Connection::getAuthenticatedUsername |
( |
| ) |
|
Session qpid::messaging::Connection::getSession |
( |
const std::string & |
name | ) |
const |
std::string qpid::messaging::Connection::getUrl |
( |
| ) |
const |
returns a url reprsenting the broker the client is currently connected to (or an empty string if it is not connected).
- Returns
- true if handle is null. It is an error to call any function on a null handle.
Definition at line 46 of file Handle.h.
bool qpid::messaging::Connection::isOpen |
( |
| ) |
|
bool qpid::messaging::Connection::isOpen |
( |
| ) |
const |
- Returns
- true if handle is valid, i.e. not null.
Definition at line 43 of file Handle.h.
void qpid::messaging::Connection::open |
( |
| ) |
|
Conversion to bool supports idiom if (handle) { handle->...
}
Definition at line 49 of file Handle.h.
Operator ! supports idiom if (!handle) { do_if_handle_is_null(); }.
Definition at line 52 of file Handle.h.
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.
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.
void qpid::messaging::Connection::setOption |
( |
const std::string & |
name, |
|
|
const qpid::types::Variant & |
value |
|
) |
| |
The documentation for this class was generated from the following file: