1 #ifndef PROTON_CONNECTION_HPP
2 #define PROTON_CONNECTION_HPP
25 #include "./internal/export.hpp"
26 #include "./endpoint.hpp"
27 #include "./internal/object.hpp"
28 #include "./session.hpp"
30 #include <proton/types.h>
34 struct pn_connection_t;
38 class messaging_handler;
39 class connection_options;
43 class receiver_options;
49 PN_CPP_CLASS_EXTERN
connection :
public internal::object<pn_connection_t>,
public endpoint {
51 PN_CPP_EXTERN
connection(pn_connection_t* c) : internal::object<pn_connection_t>(c) {}
58 PN_CPP_EXTERN
bool uninitialized()
const;
59 PN_CPP_EXTERN
bool active()
const;
60 PN_CPP_EXTERN
bool closed()
const;
74 PN_CPP_EXTERN std::string virtual_host()
const;
77 PN_CPP_EXTERN std::string container_id()
const;
81 PN_CPP_EXTERN std::string user()
const;
86 PN_CPP_EXTERN
void open();
91 PN_CPP_EXTERN
void close();
95 PN_CPP_EXTERN
session open_session();
102 PN_CPP_EXTERN
session default_session();
105 PN_CPP_EXTERN
sender open_sender(
const std::string &addr);
111 PN_CPP_EXTERN
receiver open_receiver(
const std::string &addr);
114 PN_CPP_EXTERN
receiver open_receiver(
const std::string &addr,
118 PN_CPP_EXTERN session_range sessions()
const;
121 PN_CPP_EXTERN receiver_range receivers()
const;
124 PN_CPP_EXTERN sender_range senders()
const;
129 PN_CPP_EXTERN uint32_t max_frame_size()
const;
134 PN_CPP_EXTERN uint16_t max_sessions()
const;
139 PN_CPP_EXTERN uint32_t idle_timeout()
const;
142 friend class internal::factory<connection>;
143 friend class connector;
150 #endif // PROTON_CONNECTION_HPP
A top-level container of connections, sessions, senders, and receivers.
Definition: container.hpp:62
A channel for sending messages.
Definition: sender.hpp:40
Options for creating a sender.
Definition: sender_options.hpp:64
A connection to a remote AMQP peer.
Definition: connection.hpp:48
Options for creating a connection.
Definition: connection_options.hpp:67
The base class for session, connection, and link.
Definition: endpoint.hpp:33
A container of senders and receivers.
Definition: session.hpp:46
Options for creating a receiver.
Definition: receiver_options.hpp:62
A channel for receiving messages.
Definition: receiver.hpp:39
connection()
Create an empty connection.
Definition: connection.hpp:56
A network channel supporting an AMQP connection.
Definition: transport.hpp:42
The base Proton error.
Definition: error.hpp:37
Options for creating a session.
Definition: session_options.hpp:42
Experimental - A thread-safe object wrapper.
Definition: connection.hpp:45
Describes an endpoint error state.
Definition: error_condition.hpp:37