1 #ifndef PROTON_SESSION_HPP 2 #define PROTON_SESSION_HPP 26 #include "./internal/export.hpp" 27 #include "./endpoint.hpp" 28 #include "./receiver.hpp" 29 #include "./sender.hpp" 39 PN_CPP_CLASS_EXTERN
session :
public internal::object<pn_session_t>,
public endpoint {
42 PN_CPP_EXTERN
session(pn_session_t* s) : internal::object<pn_session_t>(s) {}
47 session() : internal::object<pn_session_t>(0) {}
49 PN_CPP_EXTERN
bool uninitialized()
const;
50 PN_CPP_EXTERN
bool active()
const;
51 PN_CPP_EXTERN
bool closed()
const;
58 PN_CPP_EXTERN
void open();
63 PN_CPP_EXTERN
void close();
70 PN_CPP_EXTERN
class connection connection() const;
73 PN_CPP_EXTERN
sender open_sender(
const std::string &addr);
79 PN_CPP_EXTERN
receiver open_receiver(
const std::string &addr);
85 PN_CPP_EXTERN
size_t incoming_bytes()
const;
88 PN_CPP_EXTERN
size_t outgoing_bytes()
const;
91 PN_CPP_EXTERN sender_range senders()
const;
94 PN_CPP_EXTERN receiver_range receivers()
const;
97 friend class internal::factory<session>;
98 friend class session_iterator;
106 class session_iterator :
public internal::iter_base<session, session_iterator> {
108 explicit session_iterator(session s = 0) : internal::iter_base<session, session_iterator>(s) {}
111 PN_CPP_EXTERN session_iterator operator++();
115 typedef internal::iter_range<session_iterator> session_range;
121 #endif // PROTON_SESSION_HPP A top-level container of connections, sessions, senders, and receivers.
Definition: container.hpp:50
A channel for sending messages.
Definition: sender.hpp:35
Options for creating a sender.
Definition: sender_options.hpp:54
A connection to a remote AMQP peer.
Definition: connection.hpp:40
The base class for session, connection, and link.
Definition: endpoint.hpp:33
A container of senders and receivers.
Definition: session.hpp:38
session()
Create an empty session.
Definition: session.hpp:47
Options for creating a receiver.
Definition: receiver_options.hpp:52
A channel for receiving messages.
Definition: receiver.hpp:37
Options for creating a session.
Definition: session_options.hpp:38
The main Proton namespace.
Definition: annotation_key.hpp:30
Experimental - A thread-safe object wrapper.
Definition: fwd.hpp:65
Describes an endpoint error state.
Definition: error_condition.hpp:37