diff options
author | kpayson64 <kpayson@google.com> | 2018-03-12 19:16:30 -0700 |
---|---|---|
committer | kpayson64 <kpayson@google.com> | 2018-03-13 01:21:42 -0700 |
commit | 539f5068bd14e3d07b58309b657222919e94aba5 (patch) | |
tree | bc5980993f806841a79c973d302524ab8adba576 /src/core/lib/iomgr/iomgr_internal.h | |
parent | 44fd6557aefad4689eac7225386aecefd1f9a5bc (diff) |
Abstract libuv implementation
Structures the libuv implementation to allow for a plugable
BSD style socket implementation to allow for other IO Managers
Diffstat (limited to 'src/core/lib/iomgr/iomgr_internal.h')
-rw-r--r-- | src/core/lib/iomgr/iomgr_internal.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h index 644219fb4d..b011d9c7b1 100644 --- a/src/core/lib/iomgr/iomgr_internal.h +++ b/src/core/lib/iomgr/iomgr_internal.h @@ -31,9 +31,21 @@ typedef struct grpc_iomgr_object { struct grpc_iomgr_object* prev; } grpc_iomgr_object; +typedef struct grpc_iomgr_platform_vtable { + void (*init)(void); + void (*flush)(void); + void (*shutdown)(void); +} grpc_iomgr_platform_vtable; + void grpc_iomgr_register_object(grpc_iomgr_object* obj, const char* name); void grpc_iomgr_unregister_object(grpc_iomgr_object* obj); +void grpc_determine_iomgr_platform(); + +void grpc_set_iomgr_platform_vtable(grpc_iomgr_platform_vtable* vtable); + +void grpc_set_default_iomgr_platform(); + void grpc_iomgr_platform_init(void); /** flush any globally queued work from iomgr */ void grpc_iomgr_platform_flush(void); |