1 #ifndef PROTON_SENDER_HPP
2 #define PROTON_SENDER_HPP
25 #include "./internal/export.hpp"
27 #include "./message.hpp"
28 #include "./tracker.hpp"
30 #include <proton/types.h>
34 struct pn_connection_t;
37 template <
class T>
class thread_safe;
43 PN_CPP_EXTERN
sender(pn_link_t* s);
53 PN_CPP_EXTERN
void open();
73 PN_CPP_EXTERN
void return_credit();
76 friend class internal::factory<sender>;
77 friend class sender_iterator;
85 class sender_iterator :
public internal::iter_base<sender, sender_iterator> {
86 sender_iterator(sender snd, pn_session_t* s = 0) :
87 internal::iter_base<sender, sender_iterator>(snd), session_(s) {}
92 internal::iter_base<sender, sender_iterator>(0), session_(0) {}
94 PN_CPP_EXTERN sender_iterator operator++();
97 pn_session_t* session_;
99 friend class connection;
100 friend class session;
104 typedef internal::iter_range<sender_iterator> sender_range;
110 #endif // PROTON_SENDER_HPP
An AMQP message.
Definition: message.hpp:51
A channel for sending messages.
Definition: sender.hpp:40
sender()
Create an empty sender.
Definition: sender.hpp:48
Options for creating a sender.
Definition: sender_options.hpp:64
A named channel for sending or receiving messages.
Definition: link.hpp:56
A point of origin for messages.
Definition: source.hpp:43
A tracker for a sent message.
Definition: tracker.hpp:37
A destination for messages.
Definition: target.hpp:40
Experimental - A thread-safe object wrapper.
Definition: connection.hpp:45
Type traits for mapping between AMQP and C++ types.
Definition: annotation_key.hpp:28