1 // Copyright (c) 2017 Nuxi (https://nuxi.nl/) and contributors.
2 //
3 // SPDX-License-Identifier: BSD-2-Clause
4 
5 #include <arpc++/arpc++.h>
6 
7 #include "arpc_protocol.h"
8 
9 using namespace arpc;
10 
11 // StatusCode is an enumeration that is declared in public headers, but
12 // depends on status code constants that are part of arpc_protocol.proto.
13 // Add static assertions to ensure these remain in sync.
14 static_assert(int(StatusCode::UNKNOWN) == arpc_protocol::StatusCode::UNKNOWN,
15               "Status codes must match at the message and API level.");
16 static_assert(int(StatusCode::ABORTED) == arpc_protocol::StatusCode::ABORTED,
17               "Status codes must match at the message and API level.");
18 static_assert(int(StatusCode::ALREADY_EXISTS) ==
19                   arpc_protocol::StatusCode::ALREADY_EXISTS,
20               "Status codes must match at the message and API level.");
21 static_assert(int(StatusCode::CANCELLED) ==
22                   arpc_protocol::StatusCode::CANCELLED,
23               "Status codes must match at the message and API level.");
24 static_assert(int(StatusCode::DATA_LOSS) ==
25                   arpc_protocol::StatusCode::DATA_LOSS,
26               "Status codes must match at the message and API level.");
27 static_assert(int(StatusCode::DEADLINE_EXCEEDED) ==
28                   arpc_protocol::StatusCode::DEADLINE_EXCEEDED,
29               "Status codes must match at the message and API level.");
30 static_assert(int(StatusCode::FAILED_PRECONDITION) ==
31                   arpc_protocol::StatusCode::FAILED_PRECONDITION,
32               "Status codes must match at the message and API level.");
33 static_assert(int(StatusCode::INTERNAL) == arpc_protocol::StatusCode::INTERNAL,
34               "Status codes must match at the message and API level.");
35 static_assert(int(StatusCode::INVALID_ARGUMENT) ==
36                   arpc_protocol::StatusCode::INVALID_ARGUMENT,
37               "Status codes must match at the message and API level.");
38 static_assert(int(StatusCode::NOT_FOUND) ==
39                   arpc_protocol::StatusCode::NOT_FOUND,
40               "Status codes must match at the message and API level.");
41 static_assert(int(StatusCode::OK) == arpc_protocol::StatusCode::OK,
42               "Status codes must match at the message and API level.");
43 static_assert(int(StatusCode::OUT_OF_RANGE) ==
44                   arpc_protocol::StatusCode::OUT_OF_RANGE,
45               "Status codes must match at the message and API level.");
46 static_assert(int(StatusCode::PERMISSION_DENIED) ==
47                   arpc_protocol::StatusCode::PERMISSION_DENIED,
48               "Status codes must match at the message and API level.");
49 static_assert(int(StatusCode::RESOURCE_EXHAUSTED) ==
50                   arpc_protocol::StatusCode::RESOURCE_EXHAUSTED,
51               "Status codes must match at the message and API level.");
52 static_assert(int(StatusCode::UNAUTHENTICATED) ==
53                   arpc_protocol::StatusCode::UNAUTHENTICATED,
54               "Status codes must match at the message and API level.");
55 static_assert(int(StatusCode::UNAVAILABLE) ==
56                   arpc_protocol::StatusCode::UNAVAILABLE,
57               "Status codes must match at the message and API level.");
58 static_assert(int(StatusCode::UNIMPLEMENTED) ==
59                   arpc_protocol::StatusCode::UNIMPLEMENTED,
60               "Status codes must match at the message and API level.");
61