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) {}
52 PN_CPP_EXTERN
bool uninitialized()
const;
53 PN_CPP_EXTERN
bool active()
const;
54 PN_CPP_EXTERN
bool closed()
const;
61 PN_CPP_EXTERN
void open();
66 PN_CPP_EXTERN
void close();
76 PN_CPP_EXTERN
class connection connection() const;
79 PN_CPP_EXTERN
sender open_sender(
const std::string &addr);
85 PN_CPP_EXTERN
receiver open_receiver(
const std::string &addr);
91 PN_CPP_EXTERN
size_t incoming_bytes()
const;
94 PN_CPP_EXTERN
size_t outgoing_bytes()
const;
97 PN_CPP_EXTERN sender_range senders()
const;
100 PN_CPP_EXTERN receiver_range receivers()
const;
103 friend class internal::factory<session>;
104 friend class session_iterator;
111 class session_iterator :
public internal::iter_base<session, session_iterator> {
113 explicit session_iterator(
session s = 0) : internal::iter_base<session, session_iterator>(s) {}
116 PN_CPP_EXTERN session_iterator operator++();
120 typedef internal::iter_range<session_iterator> session_range;
126 #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:43
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
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