diff options
author | 2017-11-09 17:46:29 -0800 | |
---|---|---|
committer | 2017-11-09 17:46:29 -0800 | |
commit | 4e9265c828f0b559b5fdba04913fed46bf771399 (patch) | |
tree | 4a379fc2bdc037753cf8d81f8b86327e4bc50a42 /test/core/util/passthru_endpoint.cc | |
parent | 0ee7574732a06e8cace4e099a678f4bd5dbff679 (diff) | |
parent | d9da7387b8057f3bd99a417a5ee905377bce9296 (diff) |
Merge with master
Diffstat (limited to 'test/core/util/passthru_endpoint.cc')
-rw-r--r-- | test/core/util/passthru_endpoint.cc | 88 |
1 files changed, 49 insertions, 39 deletions
diff --git a/test/core/util/passthru_endpoint.cc b/test/core/util/passthru_endpoint.cc index 4fcae991eb..bb8cbb62bf 100644 --- a/test/core/util/passthru_endpoint.cc +++ b/test/core/util/passthru_endpoint.cc @@ -37,17 +37,17 @@ typedef struct passthru_endpoint passthru_endpoint; typedef struct { grpc_endpoint base; - passthru_endpoint *parent; + passthru_endpoint* parent; grpc_slice_buffer read_buffer; - grpc_slice_buffer *on_read_out; - grpc_closure *on_read; - grpc_resource_user *resource_user; + grpc_slice_buffer* on_read_out; + grpc_closure* on_read; + grpc_resource_user* resource_user; } half; struct passthru_endpoint { gpr_mu mu; int halves; - grpc_passthru_endpoint_stats *stats; + grpc_passthru_endpoint_stats* stats; grpc_passthru_endpoint_stats dummy_stats; // used if constructor stats == NULL bool shutdown; @@ -55,9 +55,9 @@ struct passthru_endpoint { half server; }; -static void me_read(grpc_endpoint *ep, grpc_slice_buffer *slices, - grpc_closure *cb) { - half *m = (half *)ep; +static void me_read(grpc_endpoint* ep, grpc_slice_buffer* slices, + grpc_closure* cb) { + half* m = (half*)ep; gpr_mu_lock(&m->parent->mu); if (m->parent->shutdown) { GRPC_CLOSURE_SCHED( @@ -72,17 +72,17 @@ static void me_read(grpc_endpoint *ep, grpc_slice_buffer *slices, gpr_mu_unlock(&m->parent->mu); } -static half *other_half(half *h) { +static half* other_half(half* h) { if (h == &h->parent->client) return &h->parent->server; return &h->parent->client; } -static void me_write(grpc_endpoint *ep, grpc_slice_buffer *slices, - grpc_closure *cb) { - half *m = other_half((half *)ep); +static void me_write(grpc_endpoint* ep, grpc_slice_buffer* slices, + grpc_closure* cb) { + half* m = other_half((half*)ep); gpr_mu_lock(&m->parent->mu); - grpc_error *error = GRPC_ERROR_NONE; - m->parent->stats->num_writes++; + grpc_error* error = GRPC_ERROR_NONE; + gpr_atm_no_barrier_fetch_add(&m->parent->stats->num_writes, (gpr_atm)1); if (m->parent->shutdown) { error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Endpoint already shutdown"); } else if (m->on_read != NULL) { @@ -101,13 +101,16 @@ static void me_write(grpc_endpoint *ep, grpc_slice_buffer *slices, GRPC_CLOSURE_SCHED(cb, error); } -static void me_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset) {} +static void me_add_to_pollset(grpc_endpoint* ep, grpc_pollset* pollset) {} -static void me_add_to_pollset_set(grpc_endpoint *ep, - grpc_pollset_set *pollset) {} +static void me_add_to_pollset_set(grpc_endpoint* ep, + grpc_pollset_set* pollset) {} -static void me_shutdown(grpc_endpoint *ep, grpc_error *why) { - half *m = (half *)ep; +static void me_delete_from_pollset_set(grpc_endpoint* ep, + grpc_pollset_set* pollset) {} + +static void me_shutdown(grpc_endpoint* ep, grpc_error* why) { + half* m = (half*)ep; gpr_mu_lock(&m->parent->mu); m->parent->shutdown = true; if (m->on_read) { @@ -128,8 +131,8 @@ static void me_shutdown(grpc_endpoint *ep, grpc_error *why) { GRPC_ERROR_UNREF(why); } -static void me_destroy(grpc_endpoint *ep) { - passthru_endpoint *p = ((half *)ep)->parent; +static void me_destroy(grpc_endpoint* ep) { + passthru_endpoint* p = ((half*)ep)->parent; gpr_mu_lock(&p->mu); if (0 == --p->halves) { gpr_mu_unlock(&p->mu); @@ -144,44 +147,51 @@ static void me_destroy(grpc_endpoint *ep) { } } -static char *me_get_peer(grpc_endpoint *ep) { - passthru_endpoint *p = ((half *)ep)->parent; - return ((half *)ep) == &p->client ? gpr_strdup("fake:mock_client_endpoint") - : gpr_strdup("fake:mock_server_endpoint"); +static char* me_get_peer(grpc_endpoint* ep) { + passthru_endpoint* p = ((half*)ep)->parent; + return ((half*)ep) == &p->client ? gpr_strdup("fake:mock_client_endpoint") + : gpr_strdup("fake:mock_server_endpoint"); } -static int me_get_fd(grpc_endpoint *ep) { return -1; } +static int me_get_fd(grpc_endpoint* ep) { return -1; } -static grpc_resource_user *me_get_resource_user(grpc_endpoint *ep) { - half *m = (half *)ep; +static grpc_resource_user* me_get_resource_user(grpc_endpoint* ep) { + half* m = (half*)ep; return m->resource_user; } static const grpc_endpoint_vtable vtable = { - me_read, me_write, me_add_to_pollset, me_add_to_pollset_set, - me_shutdown, me_destroy, me_get_resource_user, me_get_peer, + me_read, + me_write, + me_add_to_pollset, + me_add_to_pollset_set, + me_delete_from_pollset_set, + me_shutdown, + me_destroy, + me_get_resource_user, + me_get_peer, me_get_fd, }; -static void half_init(half *m, passthru_endpoint *parent, - grpc_resource_quota *resource_quota, - const char *half_name) { +static void half_init(half* m, passthru_endpoint* parent, + grpc_resource_quota* resource_quota, + const char* half_name) { m->base.vtable = &vtable; m->parent = parent; grpc_slice_buffer_init(&m->read_buffer); m->on_read = NULL; - char *name; + char* name; gpr_asprintf(&name, "passthru_endpoint_%s_%" PRIxPTR, half_name, (intptr_t)parent); m->resource_user = grpc_resource_user_create(resource_quota, name); gpr_free(name); } -void grpc_passthru_endpoint_create(grpc_endpoint **client, - grpc_endpoint **server, - grpc_resource_quota *resource_quota, - grpc_passthru_endpoint_stats *stats) { - passthru_endpoint *m = (passthru_endpoint *)gpr_malloc(sizeof(*m)); +void grpc_passthru_endpoint_create(grpc_endpoint** client, + grpc_endpoint** server, + grpc_resource_quota* resource_quota, + grpc_passthru_endpoint_stats* stats) { + passthru_endpoint* m = (passthru_endpoint*)gpr_malloc(sizeof(*m)); m->halves = 2; m->shutdown = 0; m->stats = stats == NULL ? &m->dummy_stats : stats; |