]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | /* | |
4 | * Ceph - scalable distributed file system | |
5 | * | |
6 | * Copyright (C) 2017 Red Hat, Inc | |
7 | * | |
8 | * This is free software; you can redistribute it and/or | |
9 | * modify it under the terms of the GNU Lesser General Public | |
10 | * License version 2.1, as published by the Free Software | |
11 | * Foundation. See file COPYING. | |
12 | * | |
13 | */ | |
14 | ||
15 | #pragma once | |
16 | ||
f67539c2 TL |
17 | #include <boost/container/small_vector.hpp> |
18 | #include <seastar/core/future.hh> | |
19 | #include <seastar/core/future-util.hh> | |
11fdf7f2 TL |
20 | #include <seastar/core/shared_ptr.hh> |
21 | #include <seastar/core/sharded.hh> | |
22 | ||
9f95a23c TL |
23 | #include "msg/Connection.h" |
24 | #include "msg/MessageRef.h" | |
11fdf7f2 | 25 | #include "msg/msg_types.h" |
11fdf7f2 | 26 | |
f67539c2 | 27 | #include "crimson/common/errorator.h" |
1e59de90 | 28 | #include "crimson/common/local_shared_foreign_ptr.h" |
11fdf7f2 | 29 | |
9f95a23c | 30 | class AuthConnectionMeta; |
9f95a23c TL |
31 | |
32 | namespace crimson::net { | |
11fdf7f2 TL |
33 | |
34 | using msgr_tag_t = uint8_t; | |
9f95a23c | 35 | using stop_t = seastar::stop_iteration; |
11fdf7f2 TL |
36 | |
37 | class Connection; | |
1e59de90 TL |
38 | using ConnectionLRef = seastar::shared_ptr<Connection>; |
39 | using ConnectionFRef = seastar::foreign_ptr<ConnectionLRef>; | |
40 | using ConnectionRef = ::crimson::local_shared_foreign_ptr<ConnectionLRef>; | |
41 | ||
42 | class SocketConnection; | |
11fdf7f2 TL |
43 | |
44 | class Dispatcher; | |
f67539c2 TL |
45 | class ChainedDispatchers; |
46 | constexpr std::size_t NUM_DISPATCHERS = 4u; | |
47 | using dispatchers_t = boost::container::small_vector<Dispatcher*, NUM_DISPATCHERS>; | |
11fdf7f2 TL |
48 | |
49 | class Messenger; | |
9f95a23c | 50 | using MessengerRef = seastar::shared_ptr<Messenger>; |
11fdf7f2 | 51 | |
9f95a23c | 52 | } // namespace crimson::net |