]>
git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/net/chained_dispatchers.cc
b13d40c8f7318d720ed0445ac37ab4e1ee8f7657
1 #include "crimson/common/log.h"
2 #include "crimson/net/chained_dispatchers.h"
3 #include "crimson/net/Connection.h"
4 #include "crimson/net/Dispatcher.h"
5 #include "msg/Message.h"
8 seastar::logger
& logger() {
9 return crimson::get_logger(ceph_subsys_ms
);
13 namespace crimson::net
{
16 ChainedDispatchers::ms_dispatch(crimson::net::ConnectionRef conn
,
19 for (auto& dispatcher
: dispatchers
) {
20 auto dispatched
= dispatcher
->ms_dispatch(conn
, m
);
21 if (dispatched
.has_value()) {
22 return std::move(*dispatched
23 ).handle_exception([conn
] (std::exception_ptr eptr
) {
24 logger().error("{} got unexpected exception in ms_dispatch() throttling {}",
31 logger().error("{} got unexpected exception in ms_dispatch() {}",
32 *conn
, std::current_exception());
35 if (!dispatchers
.empty()) {
36 logger().error("ms_dispatch unhandled message {}", *m
);
38 return seastar::now();
42 ChainedDispatchers::ms_handle_accept(crimson::net::ConnectionRef conn
) {
44 for (auto& dispatcher
: dispatchers
) {
45 dispatcher
->ms_handle_accept(conn
);
48 logger().error("{} got unexpected exception in ms_handle_accept() {}",
49 *conn
, std::current_exception());
55 ChainedDispatchers::ms_handle_connect(crimson::net::ConnectionRef conn
) {
57 for(auto& dispatcher
: dispatchers
) {
58 dispatcher
->ms_handle_connect(conn
);
61 logger().error("{} got unexpected exception in ms_handle_connect() {}",
62 *conn
, std::current_exception());
68 ChainedDispatchers::ms_handle_reset(crimson::net::ConnectionRef conn
, bool is_replace
) {
70 for (auto& dispatcher
: dispatchers
) {
71 dispatcher
->ms_handle_reset(conn
, is_replace
);
74 logger().error("{} got unexpected exception in ms_handle_reset() {}",
75 *conn
, std::current_exception());
81 ChainedDispatchers::ms_handle_remote_reset(crimson::net::ConnectionRef conn
) {
83 for (auto& dispatcher
: dispatchers
) {
84 dispatcher
->ms_handle_remote_reset(conn
);
87 logger().error("{} got unexpected exception in ms_handle_remote_reset() {}",
88 *conn
, std::current_exception());