Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / deps / grpc / src / core / lib / surface / channel_stack_type.cc
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18
19 #include <grpc/support/port_platform.h>
20
21 #include <grpc/support/log.h>
22 #include "src/core/lib/surface/channel_stack_type.h"
23
24 bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type) {
25   switch (type) {
26     case GRPC_CLIENT_CHANNEL:
27       return true;
28     case GRPC_CLIENT_SUBCHANNEL:
29       return true;
30     case GRPC_CLIENT_LAME_CHANNEL:
31       return true;
32     case GRPC_CLIENT_DIRECT_CHANNEL:
33       return true;
34     case GRPC_SERVER_CHANNEL:
35       return false;
36     case GRPC_NUM_CHANNEL_STACK_TYPES:
37       break;
38   }
39   GPR_UNREACHABLE_CODE(return true;);
40 }
41
42 const char* grpc_channel_stack_type_string(grpc_channel_stack_type type) {
43   switch (type) {
44     case GRPC_CLIENT_CHANNEL:
45       return "CLIENT_CHANNEL";
46     case GRPC_CLIENT_SUBCHANNEL:
47       return "CLIENT_SUBCHANNEL";
48     case GRPC_SERVER_CHANNEL:
49       return "SERVER_CHANNEL";
50     case GRPC_CLIENT_LAME_CHANNEL:
51       return "CLIENT_LAME_CHANNEL";
52     case GRPC_CLIENT_DIRECT_CHANNEL:
53       return "CLIENT_DIRECT_CHANNEL";
54     case GRPC_NUM_CHANNEL_STACK_TYPES:
55       break;
56   }
57   GPR_UNREACHABLE_CODE(return "UNKNOWN");
58 }