INTERNAL This class is intended for container implementers, it simplifies implementing container by performing all the default actions for shortened method signatures More...
#include <container.hpp>
Public Member Functions | |
returned< connection > | connect (const std::string &url) |
Connect to `url` and send an open request to the remote peer. | |
listener | listen (const std::string &url, const connection_options &) |
Listen with a fixed set of options for all accepted connections. | |
listener | listen (const std::string &url) |
Start listening on URL. | |
void | stop () |
**Experimental** - Stop the container with an empty error condition. | |
returned< sender > | open_sender (const std::string &url) |
Open a connection and sender for `url`. | |
returned< sender > | open_sender (const std::string &url, const proton::sender_options &o) |
Open a connection and sender for `url`. | |
returned< sender > | open_sender (const std::string &url, const proton::connection_options &o) |
Open a connection and sender for `url`. | |
returned< receiver > | open_receiver (const std::string &url) |
Open a connection and receiver for `url`. | |
returned< receiver > | open_receiver (const std::string &url, const proton::receiver_options &o) |
Open a connection and receiver for `url`. | |
returned< receiver > | open_receiver (const std::string &url, const proton::connection_options &o) |
Open a connection and receiver for `url`. | |
virtual returned< connection > | connect (const std::string &url, const connection_options &)=0 |
Connect to `url` and send an open request to the remote peer. | |
virtual void | stop_listening (const std::string &url)=0 |
INTERNAL Stop listening on url, must match the url string given to listen(). | |
virtual listener | listen (const std::string &url, listen_handler &lh)=0 |
Start listening on url. | |
virtual void | run ()=0 |
Run the container in this thread. | |
virtual void | auto_stop (bool)=0 |
If true, stop the container when all active connections and listeners are closed. | |
virtual void | stop (const error_condition &err)=0 |
**Experimental** - Stop the container with an error_condition err. | |
virtual returned< sender > | open_sender (const std::string &url, const proton::sender_options &o, const connection_options &c)=0 |
Open a connection and sender for `url`. | |
virtual returned< receiver > | open_receiver (const std::string &url, const proton::receiver_options &o, const connection_options &c)=0 |
Open a connection and receiver for `url`. | |
virtual std::string | id () const =0 |
A unique identifier for the container. | |
virtual void | client_connection_options (const connection_options &)=0 |
Connection options that will be to outgoing connections. | |
virtual connection_options | client_connection_options () const =0 |
virtual void | server_connection_options (const connection_options &)=0 |
Connection options that will be applied to incoming connections. | |
virtual connection_options | server_connection_options () const =0 |
virtual void | sender_options (const class sender_options &)=0 |
Sender options applied to senders created by this container. | |
virtual class sender_options | sender_options () const =0 |
virtual void | receiver_options (const class receiver_options &)=0 |
Receiver options applied to receivers created by this container. | |
virtual class receiver_options | receiver_options () const =0 |
virtual void | schedule (duration, void_function0 &)=0 |
Schedule a function to be called after the duration. |
INTERNAL This class is intended for container implementers, it simplifies implementing container by performing all the default actions for shortened method signatures
Note: This class will only be useful if you want all the ususal defaulted behaviours in your class as it makes them all non virtual, so you can't use just some of them.
It means that in the usual case the container interface is smaller and a little simpler.
virtual void auto_stop | ( | bool | ) | [pure virtual, inherited] |
If true, stop the container when all active connections and listeners are closed.
If false the container will keep running till stop() is called.
auto_stop is set by default when a new container is created.
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
virtual connection_options client_connection_options | ( | ) | const [pure virtual, inherited] |
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().
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void client_connection_options | ( | const connection_options & | ) | [pure virtual, inherited] |
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().
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual returned<connection> connect | ( | const std::string & | url, | |
const connection_options & | ||||
) | [pure virtual, inherited] |
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:
1. client_connection_options() 2. options passed to connect()
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.
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
virtual listener listen | ( | const std::string & | url, | |
listen_handler & | lh | |||
) | [pure virtual, inherited] |
Start listening on url.
Calls to the listen_handler are serialized for this listener, but handlers attached to separate listeners may be called concurrently.
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
listener listen | ( | const std::string & | url | ) | [virtual] |
Start listening on URL.
New connections will use the handler from server_connection_options()
Implements container.
listener listen | ( | const std::string & | url, | |
const connection_options & | ||||
) | [virtual] |
Listen with a fixed set of options for all accepted connections.
See listen(const std::string&, listen_handler&)
Implements container.
virtual returned<receiver> open_receiver | ( | const std::string & | url, | |
const proton::receiver_options & | o, | |||
const connection_options & | c | |||
) | [pure virtual, inherited] |
Open a connection and receiver for `url`.
Supplied receiver or connection options will override the container's template options.
returned<receiver> open_receiver | ( | const std::string & | url, | |
const proton::connection_options & | c | |||
) | [virtual] |
Open a connection and receiver for `url`.
Supplied receiver or connection options will override the container's template options.
Implements container.
returned<receiver> open_receiver | ( | const std::string & | url, | |
const proton::receiver_options & | o | |||
) | [virtual] |
Open a connection and receiver for `url`.
Supplied receiver options will override the container's template options.
Implements container.
virtual returned<sender> open_sender | ( | const std::string & | url, | |
const proton::sender_options & | o, | |||
const connection_options & | c | |||
) | [pure virtual, inherited] |
Open a connection and sender for `url`.
Supplied sender or connection options will override the container's template options.
returned<sender> open_sender | ( | const std::string & | url, | |
const proton::connection_options & | c | |||
) | [virtual] |
Open a connection and sender for `url`.
Supplied connection options will override the container's template options.
Implements container.
returned<sender> open_sender | ( | const std::string & | url, | |
const proton::sender_options & | o | |||
) | [virtual] |
Open a connection and sender for `url`.
Supplied sender options will override the container's template options.
Implements container.
virtual class receiver_options receiver_options | ( | ) | const [pure virtual, inherited] |
Receiver options applied to receivers created by this container. They are applied before messaging_handler::on_receiver_open() and can be overridden.
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void receiver_options | ( | const class receiver_options & | ) | [pure virtual, inherited] |
Receiver options applied to receivers created by this container.
They are applied before messaging_handler::on_receiver_open() and can be overridden.
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void run | ( | ) | [pure virtual, inherited] |
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.
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
virtual void schedule | ( | duration | , | |
void_function0 & | ||||
) | [pure virtual, inherited] |
Schedule a function to be called after the duration.
C++03 compatible, for C++11 use the schedule(duration, std::function<void()>)
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
virtual class sender_options sender_options | ( | ) | const [pure virtual, inherited] |
Sender options applied to senders created by this container. They are applied before messaging_handler::on_sender_open() and can be overridden.
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void sender_options | ( | const class sender_options & | ) | [pure virtual, inherited] |
Sender options applied to senders created by this container.
They are applied before messaging_handler::on_sender_open() and can be overridden.
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual connection_options server_connection_options | ( | ) | const [pure virtual, inherited] |
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().
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void server_connection_options | ( | const connection_options & | ) | [pure virtual, inherited] |
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().
Implemented in container_ref< Ptr >, container_impl_base, and container_ref< std::auto_ptr< container > >.
virtual void stop | ( | const error_condition & | err | ) | [pure virtual, inherited] |
**Experimental** - Stop the container with an error_condition err.
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.
void stop | ( | ) | [virtual] |
**Experimental** - Stop the container with an empty error condition.
Implements container.
virtual void stop_listening | ( | const std::string & | url | ) | [pure virtual, inherited] |
INTERNAL Stop listening on url, must match the url string given to listen().
You can also use the proton::listener object returned by listen()
Implemented in container_ref< Ptr >, and container_ref< std::auto_ptr< container > >.