diff options
author | Vijay Pai <vpai@google.com> | 2016-07-21 11:31:01 -0700 |
---|---|---|
committer | Vijay Pai <vpai@google.com> | 2016-07-21 11:34:02 -0700 |
commit | 0a1c5989868cc7465b384139c137c6df3021f564 (patch) | |
tree | 728f7762a0325031bc111797a6fd3a61eff536a9 /src/core/lib/iomgr/tcp_windows.c | |
parent | 577d1696e8d39a0226f9cbad61bf1ae9c2695f91 (diff) | |
parent | 98f47f61690a494d67f5e3cc6001277695652d26 (diff) |
Merge branch 'master' into fc_unary
Diffstat (limited to 'src/core/lib/iomgr/tcp_windows.c')
-rw-r--r-- | src/core/lib/iomgr/tcp_windows.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/core/lib/iomgr/tcp_windows.c b/src/core/lib/iomgr/tcp_windows.c index b2af8030aa..35054c42b5 100644 --- a/src/core/lib/iomgr/tcp_windows.c +++ b/src/core/lib/iomgr/tcp_windows.c @@ -37,6 +37,7 @@ #include <limits.h> +#include "src/core/lib/iomgr/network_status_tracker.h" #include "src/core/lib/iomgr/sockaddr_windows.h" #include <grpc/support/alloc.h> @@ -378,6 +379,7 @@ static void win_shutdown(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) { } static void win_destroy(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) { + grpc_network_status_unregister_endpoint(ep); grpc_tcp *tcp = (grpc_tcp *)ep; TCP_UNREF(tcp, "destroy"); } @@ -387,9 +389,16 @@ static char *win_get_peer(grpc_endpoint *ep) { return gpr_strdup(tcp->peer_string); } -static grpc_endpoint_vtable vtable = { - win_read, win_write, win_add_to_pollset, win_add_to_pollset_set, - win_shutdown, win_destroy, win_get_peer}; +static grpc_workqueue *win_get_workqueue(grpc_endpoint *ep) { return NULL; } + +static grpc_endpoint_vtable vtable = {win_read, + win_write, + win_get_workqueue, + win_add_to_pollset, + win_add_to_pollset_set, + win_shutdown, + win_destroy, + win_get_peer}; grpc_endpoint *grpc_tcp_create(grpc_winsocket *socket, char *peer_string) { grpc_tcp *tcp = (grpc_tcp *)gpr_malloc(sizeof(grpc_tcp)); @@ -401,6 +410,9 @@ grpc_endpoint *grpc_tcp_create(grpc_winsocket *socket, char *peer_string) { grpc_closure_init(&tcp->on_read, on_read, tcp); grpc_closure_init(&tcp->on_write, on_write, tcp); tcp->peer_string = gpr_strdup(peer_string); + /* Tell network status tracking code about the new endpoint */ + grpc_network_status_register_endpoint(&tcp->base); + return &tcp->base; } |