• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef GRPC_IMPL_CONNECTIVITY_STATE_H
20 #define GRPC_IMPL_CONNECTIVITY_STATE_H
21 
22 // IWYU pragma: private, include <grpc/grpc.h>
23 // IWYU pragma: friend "src/.*"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /** Connectivity state of a channel. */
30 typedef enum {
31   /** channel is idle */
32   GRPC_CHANNEL_IDLE,
33   /** channel is connecting */
34   GRPC_CHANNEL_CONNECTING,
35   /** channel is ready for work */
36   GRPC_CHANNEL_READY,
37   /** channel has seen a failure but expects to recover */
38   GRPC_CHANNEL_TRANSIENT_FAILURE,
39   /** channel has seen a failure that it cannot recover from */
40   GRPC_CHANNEL_SHUTDOWN
41 } grpc_connectivity_state;
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif /* GRPC_IMPL_CONNECTIVITY_STATE_H */
48