Qpid Proton C++  0.22.0
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 
31 namespace proton {
32 
62 class
63 PN_CPP_CLASS_EXTERN messaging_handler {
64  public:
65  PN_CPP_EXTERN messaging_handler();
66  PN_CPP_EXTERN virtual ~messaging_handler();
67 
72  PN_CPP_EXTERN virtual void on_container_start(container&);
73 
78  PN_CPP_EXTERN virtual void on_container_stop(container&);
79 
81  PN_CPP_EXTERN virtual void on_message(delivery&, message&);
82 
84  PN_CPP_EXTERN virtual void on_sendable(sender&);
85 
87  PN_CPP_EXTERN virtual void on_transport_open(transport&);
88 
90  PN_CPP_EXTERN virtual void on_transport_close(transport&);
91 
94  PN_CPP_EXTERN virtual void on_transport_error(transport&);
95 
97  PN_CPP_EXTERN virtual void on_connection_open(connection&);
98 
100  PN_CPP_EXTERN virtual void on_connection_close(connection&);
101 
103  PN_CPP_EXTERN virtual void on_connection_error(connection&);
104 
106  PN_CPP_EXTERN virtual void on_session_open(session&);
107 
109  PN_CPP_EXTERN virtual void on_session_close(session&);
110 
112  PN_CPP_EXTERN virtual void on_session_error(session&);
113 
115  PN_CPP_EXTERN virtual void on_receiver_open(receiver&);
116 
118  PN_CPP_EXTERN virtual void on_receiver_detach(receiver&);
119 
121  PN_CPP_EXTERN virtual void on_receiver_close(receiver&);
122 
124  PN_CPP_EXTERN virtual void on_receiver_error(receiver&);
125 
127  PN_CPP_EXTERN virtual void on_sender_open(sender&);
128 
130  PN_CPP_EXTERN virtual void on_sender_detach(sender&);
131 
133  PN_CPP_EXTERN virtual void on_sender_close(sender&);
134 
136  PN_CPP_EXTERN virtual void on_sender_error(sender&);
137 
139  PN_CPP_EXTERN virtual void on_tracker_accept(tracker&);
140 
142  PN_CPP_EXTERN virtual void on_tracker_reject(tracker&);
143 
145  PN_CPP_EXTERN virtual void on_tracker_release(tracker&);
146 
148  PN_CPP_EXTERN virtual void on_tracker_settle(tracker&);
149 
151  PN_CPP_EXTERN virtual void on_delivery_settle(delivery&);
152 
155  PN_CPP_EXTERN virtual void on_sender_drain_start(sender&);
156 
159  PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver&);
160 
176  PN_CPP_EXTERN virtual void on_connection_wake(connection&);
177 
179  PN_CPP_EXTERN virtual void on_error(const error_condition&);
180 };
181 
182 } // proton
183 
184 #endif // PROTON_MESSAGING_HANDLER_HPP
proton::error_condition
Describes an endpoint error state.
Definition: error_condition.hpp:40
proton::tracker
A tracker for a sent message.
Definition: tracker.hpp:40
proton::messaging_handler::on_transport_close
virtual void on_transport_close(transport &)
The underlying network transport has closed.
proton::messaging_handler::on_tracker_reject
virtual void on_tracker_reject(tracker &)
The receiving peer rejected a transfer.
proton::messaging_handler::on_receiver_drain_finish
virtual void on_receiver_drain_finish(receiver &)
Unsettled API - The credit outstanding at the time of the drain request has been consumed or returned...
proton::messaging_handler::on_tracker_release
virtual void on_tracker_release(tracker &)
The receiving peer released a transfer.
proton::container
A top-level container of connections, sessions, and links.
Definition: container.hpp:50
proton::messaging_handler::on_sender_detach
virtual void on_sender_detach(sender &)
The remote peer detached the link.
fwd.hpp
proton::messaging_handler::on_container_start
virtual void on_container_start(container &)
The container event loop is starting.
proton::messaging_handler::on_error
virtual void on_error(const error_condition &)
Fallback error handling.
proton::messaging_handler::on_transport_open
virtual void on_transport_open(transport &)
The underlying network transport is open.
proton::connection
A connection to a remote AMQP peer.
Definition: connection.hpp:44
proton::messaging_handler::on_message
virtual void on_message(delivery &, message &)
A message is received.
proton::messaging_handler::on_sender_error
virtual void on_sender_error(sender &)
The remote peer closed the link with an error condition.
proton::receiver
A channel for receiving messages.
Definition: receiver.hpp:41
proton::messaging_handler::on_receiver_error
virtual void on_receiver_error(receiver &)
The remote peer closed the link with an error condition.
proton::delivery
A received message.
Definition: delivery.hpp:39
proton::messaging_handler::on_sendable
virtual void on_sendable(sender &)
A message can be sent.
proton::messaging_handler::on_session_close
virtual void on_session_close(session &)
The remote peer closed the session.
proton::messaging_handler::on_session_open
virtual void on_session_open(session &)
The remote peer opened the session.
proton::messaging_handler::on_sender_drain_start
virtual void on_sender_drain_start(sender &)
Unsettled API - The receiving peer has requested a drain of remaining credit.
proton::messaging_handler::on_container_stop
virtual void on_container_stop(container &)
The container event loop is stopping.
proton::messaging_handler
A handler for Proton messaging events.
Definition: messaging_handler.hpp:63
proton::messaging_handler::on_tracker_accept
virtual void on_tracker_accept(tracker &)
The receiving peer accepted a transfer.
proton::messaging_handler::on_transport_error
virtual void on_transport_error(transport &)
The underlying network transport has closed with an error condition.
proton::messaging_handler::on_sender_close
virtual void on_sender_close(sender &)
The remote peer closed the link.
proton::sender
A channel for sending messages.
Definition: sender.hpp:40
proton::messaging_handler::on_connection_error
virtual void on_connection_error(connection &)
The remote peer closed the connection with an error condition.
proton::messaging_handler::on_session_error
virtual void on_session_error(session &)
The remote peer closed the session with an error condition.
proton::transport
A network channel supporting an AMQP connection.
Definition: transport.hpp:37
proton::messaging_handler::on_receiver_open
virtual void on_receiver_open(receiver &)
The remote peer opened the link.
proton::messaging_handler::on_receiver_detach
virtual void on_receiver_detach(receiver &)
The remote peer detached the link.
proton::messaging_handler::on_sender_open
virtual void on_sender_open(sender &)
The remote peer opened the link.
proton::messaging_handler::on_receiver_close
virtual void on_receiver_close(receiver &)
The remote peer closed the link.
proton
The main Proton namespace.
Definition: annotation_key.hpp:33
proton::messaging_handler::on_tracker_settle
virtual void on_tracker_settle(tracker &)
The receiving peer settled a transfer.
proton::messaging_handler::on_connection_wake
virtual void on_connection_wake(connection &)
Unsettled API - An event that can be triggered from another thread.
proton::session
A container of senders and receivers.
Definition: session.hpp:42
proton::messaging_handler::on_connection_close
virtual void on_connection_close(connection &)
The remote peer closed the connection.
proton::messaging_handler::on_connection_open
virtual void on_connection_open(connection &)
The remote peer opened the connection.
proton::message
An AMQP message.
Definition: message.hpp:50
proton::messaging_handler::on_delivery_settle
virtual void on_delivery_settle(delivery &)
The sending peer settled a transfer.