3 * Copyright 2016 gRPC authors.
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <grpc/support/port_platform.h>
21 #include <grpc/support/log.h>
22 #include "src/core/lib/surface/channel_stack_type.h"
24 bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type) {
26 case GRPC_CLIENT_CHANNEL:
28 case GRPC_CLIENT_SUBCHANNEL:
30 case GRPC_CLIENT_LAME_CHANNEL:
32 case GRPC_CLIENT_DIRECT_CHANNEL:
34 case GRPC_SERVER_CHANNEL:
36 case GRPC_NUM_CHANNEL_STACK_TYPES:
39 GPR_UNREACHABLE_CODE(return true;);
42 const char* grpc_channel_stack_type_string(grpc_channel_stack_type 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:
57 GPR_UNREACHABLE_CODE(return "UNKNOWN");