]> git.proxmox.com Git - ceph.git/blame - ceph/src/crimson/net/Fwd.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / crimson / net / Fwd.h
CommitLineData
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 30class AuthConnectionMeta;
9f95a23c
TL
31
32namespace crimson::net {
11fdf7f2
TL
33
34using msgr_tag_t = uint8_t;
9f95a23c 35using stop_t = seastar::stop_iteration;
11fdf7f2
TL
36
37class Connection;
1e59de90
TL
38using ConnectionLRef = seastar::shared_ptr<Connection>;
39using ConnectionFRef = seastar::foreign_ptr<ConnectionLRef>;
40using ConnectionRef = ::crimson::local_shared_foreign_ptr<ConnectionLRef>;
41
42class SocketConnection;
11fdf7f2
TL
43
44class Dispatcher;
f67539c2
TL
45class ChainedDispatchers;
46constexpr std::size_t NUM_DISPATCHERS = 4u;
47using dispatchers_t = boost::container::small_vector<Dispatcher*, NUM_DISPATCHERS>;
11fdf7f2
TL
48
49class Messenger;
9f95a23c 50using MessengerRef = seastar::shared_ptr<Messenger>;
11fdf7f2 51
9f95a23c 52} // namespace crimson::net