1 #ifndef PROTON_SESSION_HPP 2 #define PROTON_SESSION_HPP 26 #include "./internal/export.hpp" 42 PN_CPP_CLASS_EXTERN
session :
public internal::object<pn_session_t>,
public endpoint {
45 PN_CPP_EXTERN
session(pn_session_t* s) : internal::object<pn_session_t>(s) {}
50 session() : internal::object<pn_session_t>(0) {}
54 PN_CPP_EXTERN
bool uninitialized()
const;
55 PN_CPP_EXTERN
bool active()
const;
56 PN_CPP_EXTERN
bool closed()
const;
63 PN_CPP_EXTERN
void open();
68 PN_CPP_EXTERN
void close();
81 PN_CPP_EXTERN
sender open_sender(
const std::string &addr);
87 PN_CPP_EXTERN
receiver open_receiver(
const std::string &addr);
93 PN_CPP_EXTERN
size_t incoming_bytes()
const;
96 PN_CPP_EXTERN
size_t outgoing_bytes()
const;
99 PN_CPP_EXTERN sender_range senders()
const;
102 PN_CPP_EXTERN receiver_range receivers()
const;
105 friend class internal::factory<
session>;
106 friend class session_iterator;
113 class session_iterator :
public internal::iter_base<session, session_iterator> {
115 explicit session_iterator(session s = 0) : internal::iter_base<session, session_iterator>(s) {}
118 PN_CPP_EXTERN session_iterator operator++();
122 typedef internal::iter_range<session_iterator> session_range;
128 #endif // PROTON_SESSION_HPP A top-level container of connections, sessions, and links.
Definition: container.hpp:50
A channel for sending messages.
A channel for sending messages.
Definition: sender.hpp:39
Options for creating a sender.
Definition: sender_options.hpp:57
A connection to a remote AMQP peer.
Definition: connection.hpp:44
The base class for session, connection, and link.
Definition: endpoint.hpp:36
A container of senders and receivers.
Definition: session.hpp:41
session()
Create an empty session.
Definition: session.hpp:50
A channel for receiving messages.
Options for creating a receiver.
Definition: receiver_options.hpp:56
A channel for receiving messages.
Definition: receiver.hpp:40
Unsettled API - A context for thread-safe execution of work.
Definition: work_queue.hpp:339
The base Proton error.
Definition: error.hpp:40
Options for creating a session.
Definition: session_options.hpp:40
The main Proton namespace.
Definition: annotation_key.hpp:33
The base class for session, connection, and link.
Describes an endpoint error state.
Definition: error_condition.hpp:40