connection_options

Options for creating a connection. More...

`#include <connection_options.hpp>`

## Public Member Functions

| connection_options ()
| Create an empty set of options.
| connection_options (class messaging_handler &h)
| Shorthand for `connection_options().handler(h)`.
| connection_options (const connection_options &)
| Copy options.
connection_options & | operator= (const connection_options &)
| Copy options.
connection_options & | handler (class messaging_handler &)
| Set a connection handler. More...
connection_options & | max_frame_size (uint32_t max)
| Set the maximum frame size. It is unlimited by default.
connection_options & | max_sessions (uint16_t max)
| Set the maximum number of open sessions. The default is 32767.
connection_options & | idle_timeout (duration)
| Set the idle timeout. More...
connection_options & | container_id (const std::string &id)
| Set the container ID.
connection_options & | virtual_host (const std::string &name)
| Set the virtual host name for the connection. More...
connection_options & | user (const std::string &)
| Set the user name used to authenticate the connection. More...
connection_options & | password (const std::string &)
| Set the password used to authenticate the connection. More...
connection_options & | ssl_client_options (const class ssl_client_options &)
| Set SSL client options.
connection_options & | ssl_server_options (const class ssl_server_options &)
| Set SSL server options.
connection_options & | sasl_enabled (bool)
| Enable or disable SASL.
connection_options & | sasl_allow_insecure_mechs (bool)
| Force the enabling of SASL mechanisms that disclose cleartext passwords over the connection. More...
connection_options & | sasl_allowed_mechs (const std::string &)
| Specify the allowed mechanisms for use on the connection.
connection_options & | sasl_config_name (const std::string &)
| Unsettled API - Set the SASL configuration name.
connection_options & | sasl_config_path (const std::string &)
| Unsettled API - Set the SASL configuration path.
connection_options & | reconnect (const reconnect_options &)
| Unsettled API - Set reconnect and failover options.
connection_options & | update (const connection_options &other)
| Update option values from values set in other.

## Detailed Description

Options for creating a connection.

Options can be "chained" like this:

c = container.connect(url, connection_options().handler(h).max_frame_size(1234));
proton::connection_options::handler
connection_options & handler(class messaging_handler &)
Set a connection handler.
proton::connection_options::connection_options
connection_options()
Create an empty set of options.
proton::connection_options::max_frame_size
connection_options & max_frame_size(uint32_t max)
Set the maximum frame size. It is unlimited by default.

You can also create an options object with common settings and use it as a base for different connections that have mostly the same settings:

connection_options opts;
opts.idle_timeout(1000).max_frame_size(10000);
c1 = container.connect(url1, opts.handler(h1));
c2 = container.connect(url2, opts.handler(h2));

Normal value semantics: copy or assign creates a separate copy of the options.

Examples
  broker.cpp, multithreaded_client_flow_control.cpp, service_bus.cpp, simple_recv.cpp, and simple_send.cpp.

## Member Function Documentation

## handler()

connection_options& handler | ( | class messaging_handler & |  | ) |

Set a connection handler.

The handler must not be deleted until messaging_handler::on_transport_close() is called.

Examples
  broker.cpp.

## idle_timeout()

connection_options& idle_timeout | ( | duration |  | ) |

Set the idle timeout.

The default is no timeout.

If set, the local peer will disconnect if it receives no AMQP frames for an interval longer than `duration`. Also known as "heartbeating", this is a way to detect dead peers even in the presence of a live TCP connection.

## virtual_host()

connection_options& virtual_host | ( | const std::string & | name | ) |

Set the virtual host name for the connection.

For client connections, it defaults to the host name used to set up the connection. For server connections, it is unset by default.

If making a client connection by SSL/TLS, this name is also used for certificate verification and Server Name Indication.

## user()

connection_options& user | ( | const std::string & |  | ) |

Set the user name used to authenticate the connection.

It is unset by default.

This value overrides any user name that is specified in the URL used for `container::connect`. It is ignored if the connection is created by `container::listen` because a listening connection's identity is provided by the remote client.

Examples
  simple_recv.cpp, and simple_send.cpp.

## password()

connection_options& password | ( | const std::string & |  | ) |

Set the password used to authenticate the connection.

This value is ignored if the connection is created by `container::listen`.

Examples
  simple_recv.cpp, and simple_send.cpp.

## sasl_allow_insecure_mechs()

connection_options& sasl_allow_insecure_mechs | ( | bool |  | ) |

Force the enabling of SASL mechanisms that disclose cleartext passwords over the connection.

By default, such mechanisms are disabled.

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

- proton/connection_options.hpp