diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/grpc/grpc.h | 18 | ||||
-rw-r--r-- | include/grpc/support/atm_win32.h | 2 | ||||
-rw-r--r-- | include/grpc/support/log_win32.h | 2 | ||||
-rw-r--r-- | include/grpc/support/port_platform.h | 32 | ||||
-rw-r--r-- | include/grpc/support/sync_win32.h | 2 |
5 files changed, 48 insertions, 8 deletions
diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 637f473b82..782923d599 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -118,6 +118,20 @@ typedef struct { #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \ "grpc.http2.initial_sequence_number" +/** Connectivity state of a channel. */ +typedef enum { + /** channel is idle */ + GRPC_CHANNEL_IDLE, + /** channel is connecting */ + GRPC_CHANNEL_CONNECTING, + /** channel is ready for work */ + GRPC_CHANNEL_READY, + /** channel has seen a failure but expects to recover */ + GRPC_CHANNEL_TRANSIENT_FAILURE, + /** channel has seen a failure that it cannot recover from */ + GRPC_CHANNEL_FATAL_FAILURE +} grpc_connectivity_state; + /* Result of a grpc call. If the caller satisfies the prerequisites of a particular operation, the grpc_call_error returned will be GRPC_CALL_OK. Receiving any other value listed here is an indication of a bug in the @@ -427,7 +441,7 @@ void grpc_channel_destroy(grpc_channel *channel); has been made. */ /* Called by clients to cancel an RPC on the server. - Can be called multiple times, from any thread. + Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_destroy is called.*/ @@ -443,7 +457,7 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description); -/* Destroy a call. +/* Destroy a call. THREAD SAFETY: grpc_call_destroy is thread-compatible */ void grpc_call_destroy(grpc_call *call); diff --git a/include/grpc/support/atm_win32.h b/include/grpc/support/atm_win32.h index dcba4d433d..da99021c24 100644 --- a/include/grpc/support/atm_win32.h +++ b/include/grpc/support/atm_win32.h @@ -37,8 +37,6 @@ /* Win32 variant of atm_platform.h */ #include <grpc/support/port_platform.h> -#include <windows.h> - typedef gpr_intptr gpr_atm; #define gpr_atm_full_barrier MemoryBarrier diff --git a/include/grpc/support/log_win32.h b/include/grpc/support/log_win32.h index ad0edcdb89..595a81a5af 100644 --- a/include/grpc/support/log_win32.h +++ b/include/grpc/support/log_win32.h @@ -34,8 +34,6 @@ #ifndef GRPC_SUPPORT_LOG_WIN32_H #define GRPC_SUPPORT_LOG_WIN32_H -#include <windows.h> - #ifdef __cplusplus extern "C" { #endif diff --git a/include/grpc/support/port_platform.h b/include/grpc/support/port_platform.h index 4fbce9c8d9..d3cfee113d 100644 --- a/include/grpc/support/port_platform.h +++ b/include/grpc/support/port_platform.h @@ -34,6 +34,38 @@ #ifndef GRPC_SUPPORT_PORT_PLATFORM_H #define GRPC_SUPPORT_PORT_PLATFORM_H +/* Get windows.h included everywhere (we need it) */ +#if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32) +#ifndef WIN32_LEAN_AND_MEAN +#define GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED +#define WIN32_LEAN_AND_MEAN +#endif /* WIN32_LEAN_AND_MEAN */ + +#ifndef NOMINMAX +#define GRPC_NOMINMX_WAS_NOT_DEFINED +#define NOMINMAX +#endif /* NOMINMAX */ + +#if defined(_WIN32_WINNT) +#if _WIN32_WINNT < 0x0600 +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0600 +#endif /* _WIN32_WINNT < 0x0600 */ +#endif /* defined(_WIN32_WINNT) */ + +#include <windows.h> + +#ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED +#undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED +#undef WIN32_LEAN_AND_MEAN +#endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */ + +#ifdef GRPC_NOMINMAX_WAS_NOT_DEFINED +#undef GRPC_NOMINMAX_WAS_NOT_DEFINED +#undef NOMINMAX +#endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */ +#endif /* defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32) */ + /* Override this file with one for your platform if you need to redefine things. */ diff --git a/include/grpc/support/sync_win32.h b/include/grpc/support/sync_win32.h index cb2a8663a0..66b9af9074 100644 --- a/include/grpc/support/sync_win32.h +++ b/include/grpc/support/sync_win32.h @@ -36,8 +36,6 @@ #include <grpc/support/sync_generic.h> -#include <windows.h> - typedef struct { CRITICAL_SECTION cs; /* Not an SRWLock until Vista is unsupported */ int locked; |