Home | History | Annotate | Download | only in surface
      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 }
     59