Qpid Proton C++
0.13.0
|
A single-threaded container. More...
#include <default_container.hpp>
Public Member Functions | |
default_container (proton::messaging_handler &h, const std::string &id="") | |
Create a default, single-threaded container with a messaging_handler. More... | |
default_container (const std::string &id="") | |
Create a default, single-threaded container without a messaging_handler. More... | |
default_container (container *c) | |
Wrap an existing container implementation as a default_container. More... | |
returned< connection > | connect (const std::string &url, const connection_options &) |
Connect to url and send an open request to the remote peer. More... | |
listener | listen (const std::string &url, listen_handler &l) |
Start listening on url. More... | |
void | run () |
Run the container in this thread. More... | |
void | auto_stop (bool set) |
If true, stop the container when all active connections and listeners are closed. More... | |
void | stop (const error_condition &err=error_condition()) |
Experimental - Stop the container with an optional error_condition err. More... | |
returned< sender > | open_sender (const std::string &url, const proton::sender_options &o=proton::sender_options(), const connection_options &c=connection_options()) |
Open a connection and sender for url . More... | |
returned< receiver > | open_receiver (const std::string &url, const proton::receiver_options &o=proton::receiver_options(), const connection_options &c=connection_options()) |
Open a connection and receiver for url . More... | |
std::string | id () const |
A unique identifier for the container. | |
void | client_connection_options (const connection_options &o) |
Connection options that will be to outgoing connections. More... | |
connection_options | client_connection_options () const |
Connection options that will be to outgoing connections. More... | |
void | server_connection_options (const connection_options &o) |
Connection options that will be applied to incoming connections. More... | |
connection_options | server_connection_options () const |
Connection options that will be applied to incoming connections. More... | |
void | sender_options (const class sender_options &o) |
Sender options applied to senders created by this container. More... | |
class sender_options | sender_options () const |
Sender options applied to senders created by this container. More... | |
void | receiver_options (const class receiver_options &o) |
Receiver options applied to receivers created by this container. More... | |
class receiver_options | receiver_options () const |
Receiver options applied to receivers created by this container. More... | |
returned< connection > | connect (const std::string &url) |
Connect to url and send an open request to the remote peer. | |
virtual listener | listen (const std::string &url, const connection_options &) |
Listen with a fixed set of options for all accepted connections. More... | |
virtual listener | listen (const std::string &url) |
Start listening on URL. More... | |
virtual returned< sender > | open_sender (const std::string &url) |
Open a connection and sender for url . | |
virtual returned< sender > | open_sender (const std::string &url, const proton::sender_options &o) |
Open a connection and sender for url . More... | |
virtual returned< receiver > | open_receiver (const std::string &url) |
Open a connection and receiver for url . | |
virtual returned< receiver > | open_receiver (const std::string &url, const proton::receiver_options &o) |
Open a connection and receiver for url . More... | |
A single-threaded container.
A top-level container of connections, sessions, senders, and receivers. A container gives a unique identity to each communicating peer. It is often a process-level object.
It serves as an entry point to the API, allowing connections, senders, and receivers to be established. It can be supplied with an event handler in order to intercept important messaging events, such as newly received messages or newly issued credit for sending messages.
|
explicit |
Create a default, single-threaded container with a messaging_handler.
The messaging_handler will be called for all events on all connections in the container.
Container ID should be unique within your system. If empty a random UUID is generated.
|
explicit |
Create a default, single-threaded container without a messaging_handler.
Connections get their handlesr via proton::connection_options. Container-wide defaults are set with client_connection_options() and server_connection_options(). Per-connection options are set in connect() and proton_listen_handler::on_accept for the proton::listen_handler passed to listen()
Container ID should be unique within your system. If empty a random UUID is generated.
|
inlineexplicit |
Wrap an existing container implementation as a default_container.
Takes ownership of c.
|
virtual |
|
virtual |
Connection options that will be to outgoing connections.
These are applied first and overriden by options provided in connect() and messaging_handler::on_connection_open().
Implements container.
|
virtual |
Connection options that will be to outgoing connections.
These are applied first and overriden by options provided in connect() and messaging_handler::on_connection_open().
Implements container.
|
virtual |
Connect to url
and send an open request to the remote peer.
Options are applied to the connection as follows, values in later options override earlier ones:
The handler in the composed options is used to call proton::messaging_handler::on_connection_open() when the remote peer's open response is received.
Implements container.
|
virtual |
Start listening on url.
Calls to the listen_handler are serialized for this listener, but handlers attached to separate listeners may be called concurrently.
url | identifies a listening url. |
lh | handles listening events |
Implements container.
|
virtualinherited |
Listen with a fixed set of options for all accepted connections.
|
virtualinherited |
Start listening on URL.
New connections will use the handler from server_connection_options()
|
virtual |
Open a connection and receiver for url
.
Any supplied receiver or connection options will override the container's template options.
Implements container.
|
virtualinherited |
Open a connection and receiver for url
.
Any supplied receiver options will override the container's template options.
|
virtual |
Open a connection and sender for url
.
Any supplied sender or connection options will override the container's template options.
Implements container.
|
virtualinherited |
Open a connection and sender for url
.
Any supplied sender options will override the container's template options.
|
virtual |
Receiver options applied to receivers created by this container.
They are applied before messaging_handler::on_receiver_open() and can be overridden.
Implements container.
|
virtual |
Receiver options applied to receivers created by this container.
They are applied before messaging_handler::on_receiver_open() and can be overridden.
Implements container.
|
virtual |
Run the container in this thread.
Returns when the container stops.
With a multithreaded container, call run() in multiple threads to create a thread pool.
Implements container.
|
virtual |
Sender options applied to senders created by this container.
They are applied before messaging_handler::on_sender_open() and can be overridden.
Implements container.
|
virtual |
Sender options applied to senders created by this container.
They are applied before messaging_handler::on_sender_open() and can be overridden.
Implements container.
|
virtual |
Connection options that will be applied to incoming connections.
These are applied first and overridden by options provided in listen(), listen_handler::on_accept() and messaging_handler::on_connection_open().
Implements container.
|
virtual |
Connection options that will be applied to incoming connections.
These are applied first and overridden by options provided in listen(), listen_handler::on_accept() and messaging_handler::on_connection_open().
Implements container.
|
virtual |
Experimental - Stop the container with an optional error_condition err.
!err.empty()
, handlers will receive on_transport_errorImplements container.