diff options
author | David Garcia Quintas <dgq@google.com> | 2016-07-29 14:33:15 -0700 |
---|---|---|
committer | David Garcia Quintas <dgq@google.com> | 2016-07-29 14:38:25 -0700 |
commit | 4166cb06ea6b633a6590073a49cc3b8a05caca90 (patch) | |
tree | 0b1e37b1e2b92480d561bfa99bfd6078d6494c6d /src/core/ext/lb_policy/grpclb/load_balancer_api.c | |
parent | 6531826a56eb8d9a7daf085e0bc28c760952cefa (diff) |
Addressed the rest of the PR comments
Diffstat (limited to 'src/core/ext/lb_policy/grpclb/load_balancer_api.c')
-rw-r--r-- | src/core/ext/lb_policy/grpclb/load_balancer_api.c | 53 |
1 files changed, 22 insertions, 31 deletions
diff --git a/src/core/ext/lb_policy/grpclb/load_balancer_api.c b/src/core/ext/lb_policy/grpclb/load_balancer_api.c index 8b3f2ac3ef..f4720a1345 100644 --- a/src/core/ext/lb_policy/grpclb/load_balancer_api.c +++ b/src/core/ext/lb_policy/grpclb/load_balancer_api.c @@ -109,11 +109,12 @@ void grpc_grpclb_request_destroy(grpc_grpclb_request *request) { gpr_free(request); } +typedef grpc_lb_v1_LoadBalanceResponse grpc_grpclb_response; grpc_grpclb_initial_response *grpc_grpclb_initial_response_parse( - gpr_slice encoded_response) { + gpr_slice encoded_grpc_grpclb_response) { pb_istream_t stream = - pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_response), - GPR_SLICE_LENGTH(encoded_response)); + pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_grpc_grpclb_response), + GPR_SLICE_LENGTH(encoded_grpc_grpclb_response)); grpc_grpclb_response res; memset(&res, 0, sizeof(grpc_grpclb_response)); if (!pb_decode(&stream, grpc_lb_v1_LoadBalanceResponse_fields, &res)) { @@ -128,12 +129,12 @@ grpc_grpclb_initial_response *grpc_grpclb_initial_response_parse( } grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( - gpr_slice encoded_response) { + gpr_slice encoded_grpc_grpclb_response) { bool status; decode_serverlist_arg arg; pb_istream_t stream = - pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_response), - GPR_SLICE_LENGTH(encoded_response)); + pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_grpc_grpclb_response), + GPR_SLICE_LENGTH(encoded_grpc_grpclb_response)); pb_istream_t stream_at_start = stream; grpc_grpclb_response res; memset(&res, 0, sizeof(grpc_grpclb_response)); @@ -219,35 +220,25 @@ int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs, const grpc_grpclb_duration *rhs) { GPR_ASSERT(lhs && rhs); if (lhs->has_seconds && rhs->has_seconds) { - if (lhs->seconds < rhs->seconds) { - return -1; - } - if (lhs->seconds > rhs->seconds) { - return 1; - } - goto compare_nanos; + if (lhs->seconds < rhs->seconds) return -1; + if (lhs->seconds > rhs->seconds) return 1; + } else if (lhs->has_seconds) { + return 1; + } else if (rhs->has_seconds) { + return -1; } - if (lhs->has_seconds + rhs->has_seconds == 0) { - goto compare_nanos; - } - // only lhs or rhs have seconds - return rhs->has_seconds ? 1 : -1; -compare_nanos: + GPR_ASSERT(lhs->seconds == rhs->seconds); if (lhs->has_nanos && rhs->has_nanos) { - if (lhs->nanos < rhs->nanos) { - return -1; - } - if (lhs->nanos > rhs->nanos) { - return 1; - } - return 0; - } - if (lhs->has_nanos + rhs->has_nanos == 0) { - return 0; + if (lhs->nanos < rhs->nanos) return -1; + if (lhs->nanos > rhs->nanos) return 1; + } else if (lhs->has_nanos) { + return 1; + } else if (rhs->has_nanos) { + return -1; } - // only lhs or rhs have nanos - return rhs->has_nanos ? 1 : -1; + + return 0; } void grpc_grpclb_initial_response_destroy( |