1#ifndef PROTON_SESSION_HPP
2#define PROTON_SESSION_HPP
26#include "./internal/export.hpp"
42PN_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) {}
97 PN_CPP_EXTERN sender_range
senders()
const;
109 friend class internal::factory<
session>;
110 friend class session_iterator;
117class session_iterator :
public internal::iter_base<session, session_iterator> {
119 explicit session_iterator(
session s = 0) : internal::iter_base<
session, session_iterator>(s) {}
122 PN_CPP_EXTERN session_iterator operator++();
126typedef internal::iter_range<session_iterator> session_range;
A connection to a remote AMQP peer.
Definition: connection.hpp:47
A top-level container of connections, sessions, and links.
Definition: container.hpp:50
The base class for session, connection, and link.
Definition: endpoint.hpp:36
Describes an endpoint error state.
Definition: error_condition.hpp:39
Options for creating a receiver.
Definition: receiver_options.hpp:59
A channel for receiving messages.
Definition: receiver.hpp:41
Options for creating a sender.
Definition: sender_options.hpp:60
A channel for sending messages.
Definition: sender.hpp:40
Options for creating a session.
Definition: session_options.hpp:41
A container of senders and receivers.
Definition: session.hpp:42
void * user_data() const
Get user data from this session.
receiver open_receiver(const std::string &addr, const receiver_options &opts)
Open a receiver for addr.
sender_range senders() const
Return the senders on this session.
void close()
Close the endpoint.
receiver_range receivers() const
Return the receivers on this session.
void open(const session_options &opts)
Open the session.
void close(const error_condition &)
Close the endpoint with an error condition.
session()
Create an empty session.
Definition: session.hpp:50
class work_queue & work_queue() const
Get the work_queue for the session.
void open()
Open the session.
receiver open_receiver(const std::string &addr)
Open a receiver for addr.
void user_data(void *user_data) const
Set user data on this session.
bool uninitialized() const
True if the local end is uninitialized.
sender open_sender(const std::string &addr, const sender_options &opts)
Open a sender for addr.
class container & container() const
Get the container for this session.
bool active() const
True if the local end is active.
bool closed() const
True if the local and remote ends are closed.
sender open_sender(const std::string &addr)
Open a sender for addr.
size_t outgoing_bytes() const
The number of outgoing bytes currently buffered.
size_t incoming_bytes() const
The number of incoming bytes currently buffered.
Unsettled API - A context for thread-safe execution of work.
Definition: work_queue.hpp:327
The base class for session, connection, and link.
The main Proton namespace.
Definition: annotation_key.hpp:33
A channel for receiving messages.
A channel for sending messages.
The base Proton error.
Definition: error.hpp:40