]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/crimson/test_messenger.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / test / crimson / test_messenger.h
CommitLineData
9f95a23c
TL
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3
4#pragma once
5
1e59de90
TL
6#include "msg/msg_types.h"
7
9f95a23c
TL
8namespace ceph::net::test {
9
1e59de90
TL
10constexpr uint64_t CMD_CLI_NONCE = 1;
11constexpr int64_t CMD_CLI_OSD = 1;
12constexpr uint64_t TEST_NONCE = 2;
13constexpr int64_t TEST_OSD = 2;
14constexpr uint64_t CMD_SRV_NONCE = 3;
15constexpr int64_t CMD_SRV_OSD = 3;
16constexpr uint64_t TEST_PEER_NONCE = 2;
17constexpr int64_t TEST_PEER_OSD = 4;
18
19inline entity_addr_t get_test_peer_addr(
20 const entity_addr_t &cmd_peer_addr) {
21 entity_addr_t test_peer_addr = cmd_peer_addr;
22 test_peer_addr.set_port(cmd_peer_addr.get_port() + 1);
23 test_peer_addr.set_nonce(TEST_PEER_NONCE);
24 return test_peer_addr;
25}
26
9f95a23c
TL
27enum class cmd_t : char {
28 none = '\0',
29 shutdown,
30 suite_start,
31 suite_stop,
32 suite_connect_me,
33 suite_send_me,
34 suite_keepalive_me,
35 suite_markdown,
36 suite_recv_op
37};
38
39enum class policy_t : char {
40 none = '\0',
41 stateful_server,
42 stateless_server,
43 lossless_peer,
44 lossless_peer_reuse,
45 lossy_client,
46 lossless_client
47};
48
49inline std::ostream& operator<<(std::ostream& out, const cmd_t& cmd) {
50 switch(cmd) {
51 case cmd_t::none:
52 return out << "none";
53 case cmd_t::shutdown:
54 return out << "shutdown";
55 case cmd_t::suite_start:
56 return out << "suite_start";
57 case cmd_t::suite_stop:
58 return out << "suite_stop";
59 case cmd_t::suite_connect_me:
60 return out << "suite_connect_me";
61 case cmd_t::suite_send_me:
62 return out << "suite_send_me";
63 case cmd_t::suite_keepalive_me:
64 return out << "suite_keepalive_me";
65 case cmd_t::suite_markdown:
66 return out << "suite_markdown";
67 case cmd_t::suite_recv_op:
68 return out << "suite_recv_op";
69 default:
70 ceph_abort();
71 }
72}
73
74inline std::ostream& operator<<(std::ostream& out, const policy_t& policy) {
75 switch(policy) {
76 case policy_t::none:
77 return out << "none";
78 case policy_t::stateful_server:
79 return out << "stateful_server";
80 case policy_t::stateless_server:
81 return out << "stateless_server";
82 case policy_t::lossless_peer:
83 return out << "lossless_peer";
84 case policy_t::lossless_peer_reuse:
85 return out << "lossless_peer_reuse";
86 case policy_t::lossy_client:
87 return out << "lossy_client";
88 case policy_t::lossless_client:
89 return out << "lossless_client";
90 default:
91 ceph_abort();
92 }
93}
94
95} // namespace ceph::net::test