Qpid Proton C++ API 0.39.0
 
Loading...
Searching...
No Matches
messaging_handler.hpp
Go to the documentation of this file.
1#ifndef PROTON_MESSAGING_HANDLER_HPP
2#define PROTON_MESSAGING_HANDLER_HPP
3
4/*
5 *
6 * Licensed to the Apache Software Foundation (ASF) under one
7 * or more contributor license agreements. See the NOTICE file
8 * distributed with this work for additional information
9 * regarding copyright ownership. The ASF licenses this file
10 * to you under the Apache License, Version 2.0 (the
11 * "License"); you may not use this file except in compliance
12 * with the License. You may obtain a copy of the License at
13 *
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing,
17 * software distributed under the License is distributed on an
18 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19 * KIND, either express or implied. See the License for the
20 * specific language governing permissions and limitations
21 * under the License.
22 *
23 */
24
25#include "./fwd.hpp"
26#include "./internal/export.hpp"
27
30
31namespace proton {
32
33
68class
69PN_CPP_CLASS_EXTERN messaging_handler {
70 public:
71 PN_CPP_EXTERN messaging_handler();
72 PN_CPP_EXTERN virtual ~messaging_handler();
73
78 PN_CPP_EXTERN virtual void on_container_start(container&);
79
84 PN_CPP_EXTERN virtual void on_container_stop(container&);
85
87 PN_CPP_EXTERN virtual void on_message(delivery&, message&);
88
90 PN_CPP_EXTERN virtual void on_sendable(sender&);
91
93 PN_CPP_EXTERN virtual void on_transport_open(transport&);
94
105 PN_CPP_EXTERN virtual void on_transport_close(transport&);
106
118 PN_CPP_EXTERN virtual void on_transport_error(transport&);
119
145 PN_CPP_EXTERN virtual void on_connection_open(connection&);
146
152 PN_CPP_EXTERN virtual void on_connection_close(connection&);
153
164 PN_CPP_EXTERN virtual void on_connection_error(connection&);
165
167 PN_CPP_EXTERN virtual void on_session_open(session&);
168
170 PN_CPP_EXTERN virtual void on_session_close(session&);
171
173 PN_CPP_EXTERN virtual void on_session_error(session&);
174
176 PN_CPP_EXTERN virtual void on_receiver_open(receiver&);
177
179 PN_CPP_EXTERN virtual void on_receiver_detach(receiver&);
180
182 PN_CPP_EXTERN virtual void on_receiver_close(receiver&);
183
185 PN_CPP_EXTERN virtual void on_receiver_error(receiver&);
186
188 PN_CPP_EXTERN virtual void on_sender_open(sender&);
189
191 PN_CPP_EXTERN virtual void on_sender_detach(sender&);
192
194 PN_CPP_EXTERN virtual void on_sender_close(sender&);
195
197 PN_CPP_EXTERN virtual void on_sender_error(sender&);
198
200 PN_CPP_EXTERN virtual void on_tracker_accept(tracker&);
201
203 PN_CPP_EXTERN virtual void on_tracker_reject(tracker&);
204
206 PN_CPP_EXTERN virtual void on_tracker_release(tracker&);
207
209 PN_CPP_EXTERN virtual void on_tracker_settle(tracker&);
210
212 PN_CPP_EXTERN virtual void on_delivery_settle(delivery&);
213
216 PN_CPP_EXTERN virtual void on_sender_drain_start(sender&);
217
220 PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver&);
221
237 PN_CPP_EXTERN virtual void on_connection_wake(connection&);
238
240 PN_CPP_EXTERN virtual void on_error(const error_condition&);
241};
242
243} // namespace proton
244
245#endif // PROTON_MESSAGING_HANDLER_HPP
A connection to a remote AMQP peer.
Definition: connection.hpp:47
A top-level container of connections, sessions, and links.
Definition: container.hpp:50
A received message.
Definition: delivery.hpp:40
Describes an endpoint error state.
Definition: error_condition.hpp:39
An AMQP message.
Definition: message.hpp:48
Handler for Proton messaging events.
Definition: messaging_handler.hpp:69
virtual void on_error(const error_condition &)
Fallback error handling.
virtual void on_receiver_detach(receiver &)
The remote peer detached the link.
virtual void on_receiver_drain_finish(receiver &)
Unsettled API - The credit outstanding at the time of the drain request has been consumed or returned...
virtual void on_tracker_reject(tracker &)
The receiving peer rejected a transfer.
virtual void on_sender_error(sender &)
The remote peer closed the link with an error condition.
virtual void on_connection_wake(connection &)
Unsettled API - An event that can be triggered from another thread.
virtual void on_tracker_settle(tracker &)
The receiving peer settled a transfer.
virtual void on_connection_open(connection &)
The remote peer opened the connection: called once on initial open, and again on each successful auto...
virtual void on_tracker_accept(tracker &)
The receiving peer accepted a transfer.
virtual void on_delivery_settle(delivery &)
The sending peer settled a transfer.
virtual void on_message(delivery &, message &)
A message is received.
virtual void on_session_error(session &)
The remote peer closed the session with an error condition.
virtual void on_receiver_open(receiver &)
The remote peer opened the link.
virtual void on_connection_close(connection &)
The remote peer closed the connection.
virtual void on_sendable(sender &)
A message can be sent.
virtual void on_transport_close(transport &)
The final event for a connection: there will be no more reconnect attempts and no more event function...
virtual void on_container_start(container &)
The container event loop is starting.
virtual void on_session_close(session &)
The remote peer closed the session.
virtual void on_sender_close(sender &)
The remote peer closed the link.
virtual void on_transport_open(transport &)
The underlying network transport is open.
virtual void on_session_open(session &)
The remote peer opened the session.
virtual void on_transport_error(transport &)
Unexpected disconnect, transport::error() provides details; if reconnect_options are enabled there ma...
virtual void on_sender_drain_start(sender &)
Unsettled API - The receiving peer has requested a drain of remaining credit.
virtual void on_receiver_error(receiver &)
The remote peer closed the link with an error condition.
virtual void on_sender_open(sender &)
The remote peer opened the link.
virtual void on_container_stop(container &)
The container event loop is stopping.
virtual void on_tracker_release(tracker &)
The receiving peer released a transfer.
virtual void on_sender_detach(sender &)
The remote peer detached the link.
virtual void on_receiver_close(receiver &)
The remote peer closed the link.
virtual void on_connection_error(connection &)
The remote peer indicated a fatal error, connection::error() provides details.
A channel for receiving messages.
Definition: receiver.hpp:41
A channel for sending messages.
Definition: sender.hpp:40
A container of senders and receivers.
Definition: session.hpp:42
A tracker for a sent message.
Definition: tracker.hpp:41
A network channel supporting an AMQP connection.
Definition: transport.hpp:37
Forward declarations.
The main Proton namespace.
Definition: annotation_key.hpp:33