grpc 1.0.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +3696 -867
- data/etc/roots.pem +39 -111
- data/include/grpc/byte_buffer.h +64 -1
- data/include/grpc/census.h +40 -96
- data/include/grpc/compression.h +2 -1
- data/include/grpc/grpc.h +42 -7
- data/include/grpc/grpc_posix.h +8 -5
- data/include/grpc/impl/codegen/atm.h +3 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +8 -0
- data/include/grpc/impl/codegen/atm_windows.h +4 -0
- data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -4
- data/include/grpc/impl/codegen/compression_types.h +1 -1
- data/include/grpc/impl/codegen/connectivity_state.h +2 -0
- data/include/grpc/impl/codegen/exec_ctx_fwd.h +41 -0
- data/include/grpc/impl/codegen/gpr_slice.h +84 -0
- data/include/grpc/impl/codegen/{alloc.h → gpr_types.h} +30 -29
- data/include/grpc/impl/codegen/grpc_types.h +91 -9
- data/include/grpc/impl/codegen/port_platform.h +25 -92
- data/include/grpc/impl/codegen/slice.h +54 -97
- data/include/grpc/impl/codegen/sync.h +0 -253
- data/include/grpc/module.modulemap +0 -2
- data/include/grpc/slice.h +132 -0
- data/include/grpc/{impl/codegen/slice_buffer.h → slice_buffer.h} +22 -39
- data/include/grpc/support/alloc.h +40 -1
- data/include/grpc/support/log.h +80 -1
- data/include/grpc/support/log_windows.h +2 -0
- data/include/grpc/support/string_util.h +1 -1
- data/include/grpc/support/sync.h +252 -0
- data/include/grpc/support/time.h +67 -1
- data/src/boringssl/err_data.c +639 -627
- data/src/core/ext/census/base_resources.c +71 -0
- data/src/core/ext/census/base_resources.h +39 -0
- data/src/core/ext/census/gen/census.pb.c +26 -29
- data/src/core/ext/census/gen/census.pb.h +68 -67
- data/src/core/ext/census/gen/trace_context.pb.c +81 -0
- data/src/core/ext/census/gen/trace_context.pb.h +99 -0
- data/src/core/ext/census/grpc_filter.c +22 -16
- data/src/core/ext/census/grpc_plugin.c +2 -1
- data/src/core/ext/census/initialize.c +16 -4
- data/src/core/ext/census/mlog.h +1 -1
- data/src/core/ext/census/placeholders.c +0 -45
- data/src/core/ext/census/resource.c +312 -0
- data/src/core/ext/census/resource.h +63 -0
- data/src/core/ext/census/trace_context.c +86 -0
- data/src/core/ext/census/trace_context.h +68 -0
- data/src/core/ext/census/tracing.c +8 -2
- data/src/core/ext/{client_config → client_channel}/channel_connectivity.c +8 -4
- data/src/core/ext/client_channel/client_channel.c +1218 -0
- data/src/core/ext/{client_config → client_channel}/client_channel.h +8 -11
- data/src/core/ext/{client_config → client_channel}/client_channel_factory.c +33 -3
- data/src/core/ext/{client_config → client_channel}/client_channel_factory.h +15 -8
- data/src/core/ext/{client_config/client_config_plugin.c → client_channel/client_channel_plugin.c} +16 -15
- data/src/core/ext/{client_config → client_channel}/connector.c +1 -1
- data/src/core/ext/{client_config → client_channel}/connector.h +5 -8
- data/{include/grpc/support/slice_buffer.h → src/core/ext/client_channel/default_initial_connect_string.c} +4 -5
- data/src/core/ext/client_channel/http_connect_handshaker.c +399 -0
- data/src/core/ext/client_channel/http_connect_handshaker.h +52 -0
- data/src/core/ext/{client_config → client_channel}/initial_connect_string.c +6 -7
- data/src/core/ext/{client_config → client_channel}/initial_connect_string.h +10 -10
- data/src/core/ext/{client_config → client_channel}/lb_policy.c +11 -11
- data/src/core/ext/{client_config → client_channel}/lb_policy.h +68 -27
- data/src/core/ext/client_channel/lb_policy_factory.c +163 -0
- data/src/core/ext/{client_config → client_channel}/lb_policy_factory.h +64 -9
- data/src/core/ext/{client_config → client_channel}/lb_policy_registry.c +6 -4
- data/src/core/ext/{client_config → client_channel}/lb_policy_registry.h +4 -4
- data/src/core/ext/{client_config → client_channel}/parse_address.c +21 -14
- data/src/core/ext/{client_config → client_channel}/parse_address.h +8 -10
- data/src/core/ext/{client_config → client_channel}/resolver.c +3 -4
- data/src/core/ext/{client_config → client_channel}/resolver.h +11 -15
- data/src/core/ext/{client_config → client_channel}/resolver_factory.c +4 -3
- data/src/core/ext/{client_config → client_channel}/resolver_factory.h +13 -11
- data/src/core/ext/{client_config → client_channel}/resolver_registry.c +54 -34
- data/src/core/ext/{client_config → client_channel}/resolver_registry.h +21 -8
- data/src/core/ext/{client_config → client_channel}/subchannel.c +208 -119
- data/src/core/ext/{client_config → client_channel}/subchannel.h +21 -11
- data/src/core/ext/{client_config → client_channel}/subchannel_index.c +6 -17
- data/src/core/ext/{client_config → client_channel}/subchannel_index.h +7 -7
- data/src/core/ext/{client_config → client_channel}/uri_parser.c +21 -28
- data/src/core/ext/{client_config → client_channel}/uri_parser.h +3 -3
- data/src/core/ext/lb_policy/grpclb/grpclb.c +1406 -0
- data/src/core/ext/lb_policy/grpclb/grpclb.h +44 -0
- data/src/core/ext/lb_policy/grpclb/load_balancer_api.c +117 -37
- data/src/core/ext/lb_policy/grpclb/load_balancer_api.h +31 -12
- data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +6 -36
- data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +22 -42
- data/src/core/ext/lb_policy/pick_first/pick_first.c +64 -46
- data/src/core/ext/lb_policy/round_robin/round_robin.c +324 -160
- data/src/core/ext/load_reporting/load_reporting.c +7 -56
- data/src/core/ext/load_reporting/load_reporting.h +41 -28
- data/src/core/ext/load_reporting/load_reporting_filter.c +132 -42
- data/src/core/ext/load_reporting/load_reporting_filter.h +1 -0
- data/src/core/ext/resolver/dns/native/dns_resolver.c +88 -80
- data/src/core/ext/resolver/sockaddr/sockaddr_resolver.c +57 -102
- data/src/core/ext/transport/chttp2/alpn/alpn.c +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.c +253 -0
- data/src/core/{lib/iomgr/ev_poll_and_epoll_posix.h → ext/transport/chttp2/client/chttp2_connector.h} +5 -5
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +31 -160
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +5 -5
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +44 -243
- data/src/core/ext/transport/chttp2/server/chttp2_server.c +342 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +47 -0
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +11 -124
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c +20 -9
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +28 -236
- data/src/core/ext/transport/chttp2/transport/bin_decoder.c +31 -27
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +5 -4
- data/src/core/ext/transport/chttp2/transport/bin_encoder.c +25 -22
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -7
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +0 -3
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +1345 -1521
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -1
- data/src/core/ext/transport/chttp2/transport/frame.h +3 -5
- data/src/core/ext/transport/chttp2/transport/frame_data.c +50 -47
- data/src/core/ext/transport/chttp2/transport/frame_data.h +8 -9
- data/src/core/ext/transport/chttp2/transport/frame_goaway.c +19 -21
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +9 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.c +13 -12
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +31 -19
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.c +22 -25
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +9 -8
- data/src/core/ext/transport/chttp2/transport/frame_window_update.c +26 -18
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +68 -58
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser.c +327 -214
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +14 -9
- data/src/core/ext/transport/chttp2/transport/hpack_table.c +24 -19
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +9 -6
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +284 -436
- data/src/core/ext/transport/chttp2/transport/parsing.c +355 -590
- data/src/core/ext/transport/chttp2/transport/stream_lists.c +36 -309
- data/src/core/ext/transport/chttp2/transport/stream_map.c +13 -34
- data/src/core/ext/transport/chttp2/transport/stream_map.h +3 -4
- data/src/core/ext/transport/chttp2/transport/writing.c +174 -286
- data/src/core/lib/channel/channel_args.c +70 -13
- data/src/core/lib/channel/channel_args.h +28 -2
- data/src/core/lib/channel/channel_stack.c +77 -28
- data/src/core/lib/channel/channel_stack.h +61 -23
- data/src/core/lib/channel/channel_stack_builder.c +33 -25
- data/src/core/lib/channel/channel_stack_builder.h +17 -8
- data/src/core/lib/channel/compress_filter.c +52 -36
- data/src/core/lib/channel/connected_channel.c +20 -12
- data/src/core/lib/channel/connected_channel.h +2 -1
- data/src/core/lib/channel/context.h +13 -1
- data/src/core/lib/channel/deadline_filter.c +344 -0
- data/src/core/lib/channel/deadline_filter.h +99 -0
- data/src/core/lib/channel/handshaker.c +240 -0
- data/src/core/lib/channel/handshaker.h +164 -0
- data/src/core/lib/{security/credentials/google_default/credentials_windows.c → channel/handshaker_factory.c} +16 -23
- data/src/core/lib/channel/handshaker_factory.h +66 -0
- data/src/core/lib/channel/handshaker_registry.c +113 -0
- data/src/core/{ext/client_config/client_config.h → lib/channel/handshaker_registry.h} +26 -16
- data/src/core/lib/channel/http_client_filter.c +248 -46
- data/src/core/lib/channel/http_client_filter.h +3 -0
- data/src/core/lib/channel/http_server_filter.c +136 -24
- data/src/core/lib/channel/message_size_filter.c +261 -0
- data/src/core/lib/channel/message_size_filter.h +39 -0
- data/src/core/lib/compression/message_compress.c +43 -37
- data/src/core/lib/compression/message_compress.h +7 -5
- data/src/core/lib/http/format_request.c +26 -11
- data/src/core/lib/http/format_request.h +7 -5
- data/src/core/lib/http/httpcli.c +45 -27
- data/src/core/lib/http/httpcli.h +4 -4
- data/src/core/lib/http/httpcli_security_connector.c +56 -46
- data/src/core/lib/http/parser.c +17 -14
- data/src/core/lib/http/parser.h +4 -2
- data/src/core/lib/iomgr/closure.c +49 -7
- data/src/core/lib/iomgr/closure.h +56 -14
- data/src/core/lib/iomgr/combiner.c +422 -0
- data/src/core/lib/iomgr/combiner.h +64 -0
- data/src/core/lib/iomgr/endpoint.c +8 -2
- data/src/core/lib/iomgr/endpoint.h +17 -7
- data/src/core/lib/iomgr/endpoint_pair.h +3 -2
- data/src/core/lib/iomgr/endpoint_pair_posix.c +9 -8
- data/src/core/{ext/client_config/lb_policy_factory.c → lib/iomgr/endpoint_pair_uv.c} +18 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.c +7 -6
- data/src/core/lib/iomgr/error.c +72 -6
- data/src/core/lib/iomgr/error.h +30 -3
- data/src/core/lib/iomgr/ev_epoll_linux.c +500 -382
- data/src/core/lib/iomgr/ev_epoll_linux.h +3 -2
- data/src/core/lib/iomgr/ev_poll_posix.c +317 -30
- data/src/core/lib/iomgr/ev_poll_posix.h +1 -0
- data/src/core/lib/iomgr/ev_posix.c +26 -5
- data/src/core/lib/iomgr/ev_posix.h +12 -1
- data/src/core/lib/iomgr/exec_ctx.c +27 -94
- data/src/core/lib/iomgr/exec_ctx.h +19 -22
- data/src/core/lib/iomgr/executor.c +29 -8
- data/src/core/lib/iomgr/executor.h +2 -4
- data/src/core/lib/iomgr/iocp_windows.c +3 -4
- data/src/core/lib/iomgr/iomgr.c +14 -10
- data/src/core/lib/iomgr/iomgr.h +6 -2
- data/src/core/lib/iomgr/iomgr_posix.c +2 -2
- data/src/core/lib/iomgr/iomgr_uv.c +49 -0
- data/src/core/lib/iomgr/iomgr_windows.c +2 -2
- data/src/core/lib/iomgr/load_file.c +3 -3
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/network_status_tracker.c +1 -1
- data/src/core/lib/iomgr/pollset_set_uv.c +62 -0
- data/src/core/lib/iomgr/pollset_set_windows.c +3 -3
- data/src/core/lib/iomgr/pollset_uv.c +142 -0
- data/src/core/lib/iomgr/pollset_uv.h +42 -0
- data/src/core/lib/iomgr/pollset_windows.c +5 -6
- data/src/core/lib/iomgr/port.h +129 -0
- data/src/core/lib/iomgr/resolve_address.h +2 -1
- data/src/core/lib/iomgr/resolve_address_posix.c +14 -13
- data/src/core/lib/iomgr/resolve_address_uv.c +233 -0
- data/src/core/lib/iomgr/resolve_address_windows.c +14 -12
- data/src/core/lib/iomgr/resource_quota.c +832 -0
- data/src/core/lib/iomgr/resource_quota.h +159 -0
- data/src/core/lib/iomgr/sockaddr.h +10 -2
- data/src/core/lib/iomgr/sockaddr_utils.c +63 -36
- data/src/core/lib/iomgr/sockaddr_utils.h +14 -14
- data/src/core/lib/iomgr/socket_mutator.c +98 -0
- data/src/core/lib/iomgr/socket_mutator.h +80 -0
- data/src/core/lib/iomgr/socket_utils.h +42 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.c +28 -13
- data/src/core/lib/iomgr/socket_utils_linux.c +11 -5
- data/src/core/lib/iomgr/socket_utils_posix.c +10 -7
- data/src/core/lib/iomgr/socket_utils_posix.h +11 -4
- data/src/core/lib/iomgr/socket_utils_uv.c +49 -0
- data/src/core/lib/iomgr/socket_utils_windows.c +52 -0
- data/src/core/lib/iomgr/socket_windows.c +14 -6
- data/src/core/lib/iomgr/socket_windows.h +1 -0
- data/src/core/lib/iomgr/tcp_client.h +8 -2
- data/src/core/lib/iomgr/tcp_client_posix.c +131 -82
- data/src/core/lib/iomgr/tcp_client_posix.h +45 -0
- data/src/core/lib/iomgr/tcp_client_uv.c +190 -0
- data/src/core/lib/iomgr/tcp_client_windows.c +54 -30
- data/src/core/lib/iomgr/tcp_posix.c +135 -56
- data/src/core/lib/iomgr/tcp_posix.h +2 -2
- data/src/core/lib/iomgr/tcp_server.h +14 -6
- data/src/core/lib/iomgr/tcp_server_posix.c +154 -118
- data/src/core/lib/iomgr/tcp_server_uv.c +388 -0
- data/src/core/lib/iomgr/tcp_server_windows.c +127 -100
- data/src/core/lib/iomgr/tcp_uv.c +367 -0
- data/src/core/lib/iomgr/tcp_uv.h +59 -0
- data/src/core/lib/iomgr/tcp_windows.c +65 -48
- data/src/core/lib/iomgr/tcp_windows.h +3 -1
- data/src/core/lib/iomgr/timer.h +21 -21
- data/src/core/lib/iomgr/{timer.c → timer_generic.c} +15 -10
- data/src/core/lib/iomgr/timer_generic.h +49 -0
- data/src/core/lib/iomgr/timer_heap.c +6 -0
- data/src/core/lib/iomgr/timer_uv.c +99 -0
- data/src/core/lib/iomgr/timer_uv.h +47 -0
- data/src/core/lib/iomgr/udp_server.c +116 -98
- data/src/core/lib/iomgr/udp_server.h +5 -3
- data/src/core/lib/iomgr/unix_sockets_posix.c +14 -6
- data/src/core/lib/iomgr/unix_sockets_posix.h +6 -5
- data/src/core/lib/iomgr/unix_sockets_posix_noop.c +4 -4
- data/src/core/lib/iomgr/wakeup_fd_cv.c +118 -0
- data/src/core/lib/iomgr/wakeup_fd_cv.h +80 -0
- data/src/core/lib/iomgr/wakeup_fd_eventfd.c +3 -3
- data/src/core/lib/iomgr/wakeup_fd_nospecial.c +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.c +12 -6
- data/src/core/lib/iomgr/wakeup_fd_posix.c +34 -5
- data/src/core/lib/iomgr/wakeup_fd_posix.h +5 -0
- data/src/core/lib/iomgr/workqueue.h +12 -20
- data/src/core/{ext/client_config/client_config.c → lib/iomgr/workqueue_uv.c} +24 -33
- data/{include/grpc/support/slice.h → src/core/lib/iomgr/workqueue_uv.h} +4 -6
- data/src/core/lib/iomgr/workqueue_windows.c +9 -8
- data/src/core/lib/json/json.c +3 -3
- data/src/core/lib/json/json.h +11 -11
- data/src/core/lib/json/json_reader.c +9 -5
- data/src/core/lib/profiling/basic_timers.c +10 -1
- data/src/core/lib/profiling/timers.h +2 -0
- data/src/core/lib/security/context/security_context.c +13 -3
- data/src/core/lib/security/context/security_context.h +20 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.c +28 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.c +48 -19
- data/src/core/lib/security/credentials/credentials.h +36 -19
- data/src/core/lib/security/credentials/credentials_metadata.c +11 -8
- data/src/core/lib/security/credentials/fake/fake_credentials.c +15 -11
- data/src/core/lib/security/credentials/google_default/{credentials_posix.c → credentials_generic.c} +7 -14
- data/src/core/lib/security/credentials/google_default/google_default_credentials.c +33 -21
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +14 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.c +3 -2
- data/src/core/lib/security/credentials/jwt/json_token.c +1 -0
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.c +54 -19
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.c +129 -79
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +9 -6
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +63 -28
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
- data/src/core/lib/security/credentials/plugin/plugin_credentials.c +32 -11
- data/src/core/lib/security/credentials/ssl/ssl_credentials.c +13 -9
- data/src/core/lib/security/transport/client_auth_filter.c +33 -27
- data/src/core/lib/security/transport/secure_endpoint.c +93 -68
- data/src/core/lib/security/transport/secure_endpoint.h +2 -2
- data/src/core/lib/security/transport/security_connector.c +133 -168
- data/src/core/lib/security/transport/security_connector.h +31 -46
- data/src/core/lib/security/transport/security_handshaker.c +501 -0
- data/src/core/lib/security/transport/{handshake.h → security_handshaker.h} +10 -10
- data/src/core/lib/security/transport/server_auth_filter.c +50 -38
- data/src/core/lib/security/util/b64.c +11 -8
- data/src/core/lib/security/util/b64.h +5 -4
- data/src/core/lib/slice/percent_encoding.c +182 -0
- data/src/core/lib/slice/percent_encoding.h +78 -0
- data/src/core/lib/{support → slice}/slice.c +81 -50
- data/src/core/lib/{support → slice}/slice_buffer.c +78 -60
- data/src/core/lib/slice/slice_internal.h +49 -0
- data/src/core/lib/slice/slice_string_helpers.c +90 -0
- data/src/core/lib/{iomgr/workqueue_posix.h → slice/slice_string_helpers.h} +18 -18
- data/src/core/lib/support/backoff.c +24 -13
- data/src/core/lib/support/backoff.h +5 -2
- data/src/core/lib/support/env.h +0 -2
- data/src/core/lib/support/log.c +5 -4
- data/src/core/lib/support/log_linux.c +0 -1
- data/src/core/lib/support/log_posix.c +1 -1
- data/src/core/lib/support/mpscq.c +83 -0
- data/src/core/lib/support/mpscq.h +65 -0
- data/src/core/lib/support/string.c +58 -49
- data/src/core/lib/support/string.h +11 -8
- data/src/core/lib/support/subprocess_posix.c +5 -2
- data/src/core/lib/support/thd.c +1 -1
- data/src/core/lib/support/time.c +43 -79
- data/src/core/lib/support/time_posix.c +1 -1
- data/src/core/lib/support/tmpfile.h +0 -2
- data/src/core/lib/surface/alarm.c +4 -1
- data/src/core/lib/surface/byte_buffer.c +17 -11
- data/src/core/lib/surface/byte_buffer_reader.c +23 -15
- data/src/core/lib/surface/call.c +294 -276
- data/src/core/lib/surface/call.h +24 -9
- data/src/core/lib/surface/call_log_batch.c +5 -3
- data/src/core/lib/surface/channel.c +127 -111
- data/src/core/lib/surface/channel.h +14 -5
- data/src/core/lib/surface/channel_init.c +1 -1
- data/src/core/lib/surface/channel_init.h +10 -1
- data/src/core/lib/surface/channel_ping.c +7 -6
- data/src/core/lib/surface/completion_queue.c +154 -18
- data/src/core/lib/surface/completion_queue.h +5 -0
- data/src/core/lib/surface/init.c +40 -6
- data/src/core/lib/surface/init.h +1 -0
- data/src/core/lib/surface/init_secure.c +5 -2
- data/src/core/lib/surface/lame_client.c +28 -18
- data/src/core/lib/surface/server.c +134 -87
- data/src/core/lib/surface/server.h +8 -0
- data/src/core/lib/surface/validate_metadata.c +1 -1
- data/src/core/lib/surface/version.c +3 -1
- data/src/core/lib/transport/byte_stream.c +7 -4
- data/src/core/lib/transport/byte_stream.h +6 -10
- data/src/core/lib/transport/connectivity_state.c +21 -12
- data/src/core/lib/transport/connectivity_state.h +4 -1
- data/src/core/lib/transport/mdstr_hash_table.c +118 -0
- data/src/core/lib/transport/mdstr_hash_table.h +77 -0
- data/src/core/lib/transport/metadata.c +83 -60
- data/src/core/lib/transport/metadata.h +41 -23
- data/src/core/lib/transport/metadata_batch.c +17 -11
- data/src/core/lib/transport/metadata_batch.h +20 -6
- data/src/core/lib/transport/pid_controller.c +57 -0
- data/src/core/lib/transport/pid_controller.h +64 -0
- data/src/core/lib/transport/service_config.c +251 -0
- data/src/core/lib/transport/service_config.h +71 -0
- data/src/core/lib/transport/static_metadata.c +18 -16
- data/src/core/lib/transport/static_metadata.h +113 -107
- data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.c +3 -3
- data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.h +7 -7
- data/src/core/lib/transport/transport.c +84 -23
- data/src/core/lib/transport/transport.h +53 -8
- data/src/core/lib/transport/transport_impl.h +3 -0
- data/src/core/lib/transport/transport_op_string.c +92 -20
- data/src/core/lib/tsi/ssl_transport_security.c +3 -1
- data/src/core/plugin_registry/grpc_plugin_registry.c +8 -4
- data/src/ruby/ext/grpc/extconf.rb +0 -1
- data/src/ruby/ext/grpc/rb_byte_buffer.c +8 -7
- data/src/ruby/ext/grpc/rb_call.c +15 -5
- data/src/ruby/ext/grpc/rb_channel.c +1 -1
- data/src/ruby/ext/grpc/rb_compression_options.c +466 -0
- data/src/{core/ext/client_config/default_initial_connect_string.c → ruby/ext/grpc/rb_compression_options.h} +10 -5
- data/src/ruby/ext/grpc/rb_grpc.c +3 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +198 -190
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +306 -294
- data/src/ruby/ext/grpc/rb_server.c +18 -12
- data/src/ruby/lib/grpc/errors.rb +154 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +144 -63
- data/src/ruby/lib/grpc/generic/bidi_call.rb +18 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +7 -5
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +39 -13
- data/src/ruby/lib/grpc/generic/rpc_server.rb +51 -24
- data/src/ruby/lib/grpc/generic/service.rb +3 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/checker.rb +3 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +7 -0
- data/src/ruby/pb/test/client.rb +307 -7
- data/src/ruby/pb/test/server.rb +26 -1
- data/src/ruby/spec/compression_options_spec.rb +164 -0
- data/src/ruby/spec/error_sanity_spec.rb +64 -0
- data/src/ruby/spec/generic/active_call_spec.rb +290 -12
- data/src/ruby/spec/generic/client_stub_spec.rb +91 -41
- data/src/ruby/spec/generic/rpc_desc_spec.rb +36 -16
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +22 -28
- data/src/ruby/spec/generic/rpc_server_spec.rb +6 -6
- data/src/ruby/spec/pb/health/checker_spec.rb +27 -19
- data/src/ruby/spec/spec_helper.rb +2 -0
- data/third_party/boringssl/crypto/aes/aes.c +12 -12
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +6 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +28 -13
- data/third_party/boringssl/crypto/asn1/a_gentm.c +2 -0
- data/third_party/boringssl/crypto/asn1/a_object.c +7 -3
- data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +0 -11
- data/third_party/boringssl/crypto/asn1/a_type.c +0 -2
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -30
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +56 -76
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +0 -10
- data/third_party/boringssl/crypto/asn1/asn1_par.c +0 -322
- data/third_party/boringssl/crypto/asn1/f_enum.c +1 -108
- data/third_party/boringssl/crypto/asn1/f_int.c +1 -106
- data/third_party/boringssl/crypto/asn1/f_string.c +1 -106
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +10 -14
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +17 -11
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +29 -42
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +1 -1
- data/third_party/boringssl/crypto/base64/base64.c +249 -285
- data/third_party/boringssl/crypto/bio/bio.c +13 -23
- data/third_party/boringssl/crypto/bio/bio_mem.c +3 -2
- data/third_party/boringssl/crypto/bio/connect.c +12 -3
- data/third_party/boringssl/crypto/bio/fd.c +22 -15
- data/third_party/boringssl/crypto/bio/file.c +2 -38
- data/third_party/boringssl/crypto/bio/hexdump.c +1 -2
- data/third_party/boringssl/crypto/bio/internal.h +3 -0
- data/third_party/boringssl/crypto/bio/pair.c +1 -1
- data/third_party/boringssl/crypto/bio/socket.c +10 -2
- data/third_party/boringssl/crypto/bio/socket_helper.c +2 -2
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -8
- data/third_party/boringssl/crypto/bn/bn.c +38 -0
- data/third_party/boringssl/crypto/bn/cmp.c +25 -0
- data/third_party/boringssl/crypto/bn/convert.c +73 -76
- data/third_party/boringssl/crypto/bn/div.c +136 -70
- data/third_party/boringssl/crypto/bn/exponentiation.c +86 -381
- data/third_party/boringssl/crypto/bn/gcd.c +213 -296
- data/third_party/boringssl/crypto/bn/generic.c +0 -80
- data/third_party/boringssl/crypto/bn/internal.h +15 -3
- data/third_party/boringssl/crypto/bn/montgomery.c +57 -207
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +160 -0
- data/third_party/boringssl/crypto/bn/mul.c +2 -1
- data/third_party/boringssl/crypto/bn/prime.c +24 -8
- data/third_party/boringssl/crypto/bn/random.c +47 -33
- data/third_party/boringssl/crypto/bn/sqrt.c +4 -5
- data/third_party/boringssl/crypto/buf/buf.c +25 -21
- data/third_party/boringssl/crypto/bytestring/ber.c +1 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +50 -22
- data/third_party/boringssl/crypto/bytestring/cbs.c +28 -4
- data/third_party/boringssl/crypto/chacha/{chacha_generic.c → chacha.c} +56 -29
- data/third_party/boringssl/crypto/cipher/aead.c +11 -22
- data/third_party/boringssl/crypto/cipher/cipher.c +2 -2
- data/third_party/boringssl/crypto/cipher/e_aes.c +53 -103
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +2 -8
- data/third_party/boringssl/crypto/cipher/e_des.c +3 -5
- data/third_party/boringssl/crypto/cipher/e_null.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_rc2.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_rc4.c +1 -1
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +3 -63
- data/third_party/boringssl/crypto/cipher/e_tls.c +12 -83
- data/third_party/boringssl/crypto/cipher/internal.h +8 -10
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +69 -40
- data/third_party/boringssl/crypto/conf/conf.c +2 -1
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +61 -0
- data/third_party/boringssl/crypto/cpu-arm-linux.c +360 -0
- data/third_party/boringssl/crypto/cpu-arm.c +0 -161
- data/third_party/boringssl/crypto/cpu-intel.c +5 -3
- data/third_party/boringssl/{ssl/test/scoped_types.h → crypto/cpu-ppc64le.c} +21 -9
- data/third_party/boringssl/crypto/crypto.c +29 -7
- data/third_party/boringssl/crypto/curve25519/curve25519.c +284 -242
- data/third_party/boringssl/crypto/curve25519/internal.h +64 -0
- data/third_party/boringssl/crypto/curve25519/spake25519.c +464 -0
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +21 -0
- data/third_party/boringssl/crypto/dh/check.c +22 -6
- data/third_party/boringssl/crypto/dh/dh.c +45 -21
- data/third_party/boringssl/crypto/dh/dh_asn1.c +96 -20
- data/third_party/boringssl/crypto/dh/params.c +30 -78
- data/third_party/boringssl/crypto/digest/digest.c +3 -3
- data/third_party/boringssl/crypto/dsa/dsa.c +59 -29
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +4 -0
- data/third_party/boringssl/crypto/ec/ec.c +84 -140
- data/third_party/boringssl/crypto/ec/ec_asn1.c +82 -52
- data/third_party/boringssl/crypto/ec/ec_key.c +15 -15
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +87 -50
- data/third_party/boringssl/crypto/ec/internal.h +12 -36
- data/third_party/boringssl/crypto/ec/oct.c +11 -11
- data/third_party/boringssl/crypto/ec/p224-64.c +59 -116
- data/third_party/boringssl/crypto/ec/p256-64.c +88 -163
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +46 -58
- data/third_party/boringssl/crypto/ec/simple.c +81 -201
- data/third_party/boringssl/crypto/ec/util-64.c +0 -74
- data/third_party/boringssl/crypto/ecdh/ecdh.c +7 -1
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +28 -46
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +1 -0
- data/third_party/boringssl/crypto/engine/engine.c +1 -1
- data/third_party/boringssl/crypto/err/err.c +3 -3
- data/third_party/boringssl/crypto/evp/evp.c +14 -59
- data/third_party/boringssl/crypto/evp/evp_asn1.c +144 -87
- data/third_party/boringssl/crypto/evp/evp_ctx.c +7 -7
- data/third_party/boringssl/crypto/evp/internal.h +4 -46
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +8 -157
- data/third_party/boringssl/crypto/evp/p_ec.c +1 -1
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +22 -170
- data/third_party/boringssl/crypto/evp/p_rsa.c +1 -1
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +10 -548
- data/third_party/boringssl/crypto/evp/print.c +520 -0
- data/third_party/boringssl/crypto/ex_data.c +4 -6
- data/third_party/boringssl/crypto/hkdf/hkdf.c +38 -17
- data/third_party/boringssl/crypto/hmac/hmac.c +6 -6
- data/third_party/boringssl/crypto/internal.h +57 -77
- data/third_party/boringssl/crypto/lhash/lhash.c +6 -10
- data/third_party/boringssl/crypto/md4/md4.c +9 -0
- data/third_party/boringssl/crypto/mem.c +19 -19
- data/third_party/boringssl/crypto/modes/cfb.c +5 -6
- data/third_party/boringssl/crypto/modes/ctr.c +10 -18
- data/third_party/boringssl/crypto/modes/gcm.c +100 -66
- data/third_party/boringssl/crypto/modes/internal.h +15 -27
- data/third_party/boringssl/crypto/modes/ofb.c +9 -22
- data/third_party/boringssl/crypto/newhope/error_correction.c +131 -0
- data/third_party/boringssl/crypto/newhope/internal.h +71 -0
- data/third_party/boringssl/crypto/newhope/newhope.c +174 -0
- data/third_party/boringssl/crypto/newhope/ntt.c +148 -0
- data/third_party/boringssl/crypto/newhope/poly.c +183 -0
- data/third_party/boringssl/crypto/newhope/precomp.c +306 -0
- data/third_party/boringssl/crypto/newhope/reduce.c +42 -0
- data/third_party/boringssl/crypto/obj/obj.c +111 -135
- data/third_party/boringssl/crypto/obj/obj_dat.h +4 -10
- data/third_party/boringssl/crypto/pem/pem_lib.c +6 -43
- data/third_party/boringssl/crypto/pem/pem_pkey.c +10 -19
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +1 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +2 -1
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +2 -2
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +95 -87
- data/third_party/boringssl/crypto/{test/test_util.h → poly1305/internal.h} +15 -10
- data/third_party/boringssl/crypto/poly1305/poly1305.c +8 -15
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +1 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +3 -3
- data/third_party/boringssl/crypto/rand/deterministic.c +47 -0
- data/third_party/boringssl/crypto/rand/rand.c +4 -1
- data/third_party/boringssl/crypto/rand/urandom.c +5 -7
- data/third_party/boringssl/crypto/rand/windows.c +5 -8
- data/third_party/boringssl/crypto/rc4/rc4.c +24 -209
- data/third_party/boringssl/crypto/refcount_lock.c +2 -2
- data/third_party/boringssl/crypto/rsa/blinding.c +74 -232
- data/third_party/boringssl/crypto/rsa/internal.h +5 -13
- data/third_party/boringssl/crypto/rsa/padding.c +64 -63
- data/third_party/boringssl/crypto/rsa/rsa.c +50 -28
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +8 -16
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +134 -122
- data/third_party/boringssl/crypto/sha/sha256.c +2 -2
- data/third_party/boringssl/crypto/sha/sha512.c +7 -7
- data/third_party/boringssl/crypto/stack/stack.c +13 -22
- data/third_party/boringssl/crypto/thread.c +21 -12
- data/third_party/boringssl/crypto/thread_none.c +6 -2
- data/third_party/boringssl/crypto/thread_pthread.c +16 -7
- data/third_party/boringssl/crypto/thread_win.c +38 -85
- data/third_party/boringssl/crypto/x509/a_sign.c +3 -3
- data/third_party/boringssl/crypto/x509/a_strex.c +1 -1
- data/third_party/boringssl/crypto/x509/a_verify.c +2 -2
- data/third_party/boringssl/crypto/{evp → x509}/algorithm.c +37 -53
- data/third_party/boringssl/crypto/x509/asn1_gen.c +1 -2
- data/third_party/boringssl/crypto/x509/by_dir.c +6 -6
- data/third_party/boringssl/crypto/x509/internal.h +66 -0
- data/third_party/boringssl/crypto/x509/rsa_pss.c +385 -0
- data/third_party/boringssl/crypto/x509/t_x509.c +10 -12
- data/third_party/boringssl/crypto/x509/x509.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_att.c +9 -3
- data/third_party/boringssl/crypto/x509/x509_lu.c +34 -44
- data/third_party/boringssl/crypto/x509/x509_obj.c +19 -2
- data/third_party/boringssl/crypto/x509/x509_r2x.c +9 -5
- data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +63 -32
- data/third_party/boringssl/crypto/x509/x509_vpm.c +29 -18
- data/third_party/boringssl/crypto/x509/x509cset.c +2 -1
- data/third_party/boringssl/crypto/x509/x_crl.c +2 -2
- data/third_party/boringssl/crypto/x509/x_name.c +14 -17
- data/third_party/boringssl/crypto/x509/x_pubkey.c +10 -7
- data/third_party/boringssl/crypto/x509/x_x509.c +67 -6
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +2 -1
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +4 -3
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +5 -0
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +0 -3
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +2 -2
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +2 -1
- data/third_party/boringssl/include/openssl/aead.h +72 -73
- data/third_party/boringssl/include/openssl/arm_arch.h +0 -6
- data/third_party/boringssl/include/openssl/asn1.h +103 -235
- data/third_party/boringssl/include/openssl/asn1_mac.h +17 -74
- data/third_party/boringssl/include/openssl/asn1t.h +1 -11
- data/third_party/boringssl/include/openssl/base.h +145 -3
- data/third_party/boringssl/include/openssl/base64.h +20 -17
- data/third_party/boringssl/include/openssl/bio.h +59 -34
- data/third_party/boringssl/include/openssl/bn.h +118 -51
- data/third_party/boringssl/include/openssl/buf.h +15 -0
- data/third_party/boringssl/include/openssl/bytestring.h +52 -4
- data/third_party/boringssl/include/openssl/chacha.h +2 -2
- data/third_party/boringssl/include/openssl/cipher.h +18 -1
- data/third_party/boringssl/include/openssl/cmac.h +11 -0
- data/third_party/boringssl/include/openssl/conf.h +13 -2
- data/third_party/boringssl/include/openssl/cpu.h +20 -23
- data/third_party/boringssl/include/openssl/crypto.h +22 -1
- data/third_party/boringssl/include/openssl/curve25519.h +96 -4
- data/third_party/boringssl/include/openssl/dh.h +71 -16
- data/third_party/boringssl/include/openssl/digest.h +38 -11
- data/third_party/boringssl/include/openssl/dsa.h +40 -4
- data/third_party/boringssl/include/openssl/ec.h +44 -18
- data/third_party/boringssl/include/openssl/ec_key.h +27 -6
- data/third_party/boringssl/include/openssl/ecdsa.h +11 -0
- data/third_party/boringssl/include/openssl/engine.h +11 -0
- data/third_party/boringssl/include/openssl/evp.h +52 -88
- data/third_party/boringssl/include/openssl/hkdf.h +24 -4
- data/third_party/boringssl/include/openssl/hmac.h +20 -6
- data/third_party/boringssl/include/openssl/md4.h +4 -0
- data/third_party/boringssl/include/openssl/mem.h +19 -0
- data/third_party/boringssl/include/openssl/newhope.h +158 -0
- data/third_party/boringssl/include/openssl/nid.h +4166 -0
- data/third_party/boringssl/include/openssl/obj.h +31 -3
- data/third_party/boringssl/include/openssl/obj_mac.h +17 -4143
- data/third_party/boringssl/include/openssl/{opensslfeatures.h → opensslconf.h} +3 -3
- data/third_party/boringssl/include/openssl/pem.h +5 -0
- data/third_party/boringssl/include/openssl/pkcs8.h +12 -0
- data/third_party/boringssl/include/openssl/rand.h +6 -0
- data/third_party/boringssl/include/openssl/rc4.h +6 -0
- data/third_party/boringssl/{crypto/dh/internal.h → include/openssl/ripemd.h} +38 -11
- data/third_party/boringssl/include/openssl/rsa.h +127 -65
- data/third_party/boringssl/include/openssl/sha.h +14 -10
- data/third_party/boringssl/include/openssl/ssl.h +561 -275
- data/third_party/boringssl/include/openssl/ssl3.h +18 -25
- data/third_party/boringssl/include/openssl/stack.h +2 -4
- data/third_party/boringssl/include/openssl/stack_macros.h +321 -353
- data/third_party/boringssl/include/openssl/thread.h +31 -13
- data/third_party/boringssl/include/openssl/time_support.h +1 -0
- data/third_party/boringssl/include/openssl/tls1.h +37 -33
- data/third_party/boringssl/include/openssl/x509.h +69 -26
- data/third_party/boringssl/include/openssl/x509_vfy.h +12 -10
- data/third_party/boringssl/include/openssl/x509v3.h +23 -2
- data/third_party/boringssl/ssl/custom_extensions.c +3 -5
- data/third_party/boringssl/ssl/d1_both.c +463 -499
- data/third_party/boringssl/ssl/d1_lib.c +38 -109
- data/third_party/boringssl/ssl/d1_pkt.c +173 -334
- data/third_party/boringssl/ssl/d1_srtp.c +20 -18
- data/third_party/boringssl/ssl/{d1_meth.c → dtls_method.c} +88 -15
- data/third_party/boringssl/ssl/dtls_record.c +27 -26
- data/third_party/boringssl/ssl/{s3_clnt.c → handshake_client.c} +816 -904
- data/third_party/boringssl/ssl/handshake_server.c +1932 -0
- data/third_party/boringssl/ssl/internal.h +712 -439
- data/third_party/boringssl/ssl/s3_both.c +445 -257
- data/third_party/boringssl/ssl/s3_enc.c +53 -36
- data/third_party/boringssl/ssl/s3_lib.c +23 -268
- data/third_party/boringssl/ssl/s3_pkt.c +168 -364
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +46 -17
- data/third_party/boringssl/ssl/ssl_asn1.c +56 -26
- data/third_party/boringssl/ssl/ssl_buffer.c +16 -24
- data/third_party/boringssl/ssl/ssl_cert.c +324 -49
- data/third_party/boringssl/ssl/ssl_cipher.c +205 -150
- data/third_party/boringssl/ssl/ssl_ecdh.c +287 -51
- data/third_party/boringssl/ssl/ssl_file.c +21 -68
- data/third_party/boringssl/ssl/ssl_lib.c +881 -510
- data/third_party/boringssl/ssl/ssl_rsa.c +404 -34
- data/third_party/boringssl/ssl/ssl_session.c +324 -103
- data/third_party/boringssl/ssl/ssl_stat.c +6 -88
- data/third_party/boringssl/ssl/t1_enc.c +23 -39
- data/third_party/boringssl/ssl/t1_lib.c +1120 -622
- data/third_party/boringssl/ssl/tls13_both.c +440 -0
- data/third_party/boringssl/ssl/tls13_client.c +682 -0
- data/third_party/boringssl/ssl/tls13_enc.c +391 -0
- data/third_party/boringssl/ssl/tls13_server.c +672 -0
- data/third_party/boringssl/ssl/{s3_meth.c → tls_method.c} +100 -21
- data/third_party/boringssl/ssl/tls_record.c +159 -77
- data/third_party/nanopb/pb.h +60 -28
- data/third_party/nanopb/pb_decode.c +120 -92
- data/third_party/nanopb/pb_decode.h +3 -3
- data/third_party/nanopb/pb_encode.c +73 -67
- data/third_party/nanopb/pb_encode.h +4 -4
- metadata +155 -89
- data/include/grpc/impl/codegen/byte_buffer.h +0 -122
- data/include/grpc/impl/codegen/log.h +0 -118
- data/include/grpc/impl/codegen/time.h +0 -130
- data/src/core/ext/client_config/client_channel.c +0 -593
- data/src/core/ext/client_config/subchannel_call_holder.c +0 -272
- data/src/core/ext/client_config/subchannel_call_holder.h +0 -99
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +0 -2046
- data/src/core/lib/iomgr/workqueue_posix.c +0 -151
- data/src/core/lib/security/transport/handshake.c +0 -368
- data/third_party/boringssl/crypto/asn1/a_bytes.c +0 -308
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +0 -477
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +0 -251
- data/third_party/boringssl/crypto/asn1/t_pkey.c +0 -110
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +0 -596
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +0 -328
- data/third_party/boringssl/crypto/directory.h +0 -66
- data/third_party/boringssl/crypto/directory_posix.c +0 -108
- data/third_party/boringssl/crypto/directory_win.c +0 -144
- data/third_party/boringssl/crypto/test/scoped_types.h +0 -140
- data/third_party/boringssl/include/openssl/pqueue.h +0 -146
- data/third_party/boringssl/ssl/d1_clnt.c +0 -561
- data/third_party/boringssl/ssl/d1_srvr.c +0 -476
- data/third_party/boringssl/ssl/pqueue/pqueue.c +0 -197
- data/third_party/boringssl/ssl/s3_srvr.c +0 -2272
- data/third_party/boringssl/ssl/test/async_bio.h +0 -45
- data/third_party/boringssl/ssl/test/packeted_bio.h +0 -44
- data/third_party/boringssl/ssl/test/test_config.h +0 -110
@@ -0,0 +1,44 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2016, Google Inc.
|
4
|
+
* All rights reserved.
|
5
|
+
*
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
7
|
+
* modification, are permitted provided that the following conditions are
|
8
|
+
* met:
|
9
|
+
*
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
12
|
+
* * Redistributions in binary form must reproduce the above
|
13
|
+
* copyright notice, this list of conditions and the following disclaimer
|
14
|
+
* in the documentation and/or other materials provided with the
|
15
|
+
* distribution.
|
16
|
+
* * Neither the name of Google Inc. nor the names of its
|
17
|
+
* contributors may be used to endorse or promote products derived from
|
18
|
+
* this software without specific prior written permission.
|
19
|
+
*
|
20
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
|
34
|
+
#ifndef GRPC_CORE_EXT_LB_POLICY_GRPCLB_GRPCLB_H
|
35
|
+
#define GRPC_CORE_EXT_LB_POLICY_GRPCLB_GRPCLB_H
|
36
|
+
|
37
|
+
#include "src/core/ext/client_channel/lb_policy_factory.h"
|
38
|
+
|
39
|
+
/** Returns a load balancing factory for the glb policy, which tries to connect
|
40
|
+
* to a load balancing server to decide the next successfully connected
|
41
|
+
* subchannel to pick. */
|
42
|
+
grpc_lb_policy_factory *grpc_glb_lb_factory_create();
|
43
|
+
|
44
|
+
#endif /* GRPC_CORE_EXT_LB_POLICY_GRPCLB_GRPCLB_H */
|
@@ -38,9 +38,15 @@
|
|
38
38
|
#include <grpc/support/alloc.h>
|
39
39
|
|
40
40
|
typedef struct decode_serverlist_arg {
|
41
|
-
|
42
|
-
|
41
|
+
/* The first pass counts the number of servers in the server list. The second
|
42
|
+
* one allocates and decodes. */
|
43
|
+
bool first_pass;
|
44
|
+
/* The decoding callback is invoked once per server in serverlist. Remember
|
45
|
+
* which index of the serverlist are we currently decoding */
|
46
|
+
size_t decoding_idx;
|
47
|
+
/* Populated after the first pass. Number of server in the input serverlist */
|
43
48
|
size_t num_servers;
|
49
|
+
/* The decoded serverlist */
|
44
50
|
grpc_grpclb_server **servers;
|
45
51
|
} decode_serverlist_arg;
|
46
52
|
|
@@ -48,23 +54,26 @@ typedef struct decode_serverlist_arg {
|
|
48
54
|
static bool decode_serverlist(pb_istream_t *stream, const pb_field_t *field,
|
49
55
|
void **arg) {
|
50
56
|
decode_serverlist_arg *dec_arg = *arg;
|
51
|
-
if (dec_arg->first_pass
|
57
|
+
if (dec_arg->first_pass) { /* count how many server do we have */
|
52
58
|
grpc_grpclb_server server;
|
53
59
|
if (!pb_decode(stream, grpc_lb_v1_Server_fields, &server)) {
|
60
|
+
gpr_log(GPR_ERROR, "nanopb error: %s", PB_GET_ERROR(stream));
|
54
61
|
return false;
|
55
62
|
}
|
56
63
|
dec_arg->num_servers++;
|
57
|
-
} else { /* second pass */
|
64
|
+
} else { /* second pass. Actually decode. */
|
58
65
|
grpc_grpclb_server *server = gpr_malloc(sizeof(grpc_grpclb_server));
|
66
|
+
memset(server, 0, sizeof(grpc_grpclb_server));
|
59
67
|
GPR_ASSERT(dec_arg->num_servers > 0);
|
60
|
-
if (dec_arg->
|
68
|
+
if (dec_arg->decoding_idx == 0) { /* first iteration of second pass */
|
61
69
|
dec_arg->servers =
|
62
70
|
gpr_malloc(sizeof(grpc_grpclb_server *) * dec_arg->num_servers);
|
63
71
|
}
|
64
72
|
if (!pb_decode(stream, grpc_lb_v1_Server_fields, server)) {
|
73
|
+
gpr_log(GPR_ERROR, "nanopb error: %s", PB_GET_ERROR(stream));
|
65
74
|
return false;
|
66
75
|
}
|
67
|
-
dec_arg->servers[dec_arg->
|
76
|
+
dec_arg->servers[dec_arg->decoding_idx++] = server;
|
68
77
|
}
|
69
78
|
|
70
79
|
return true;
|
@@ -81,18 +90,18 @@ grpc_grpclb_request *grpc_grpclb_request_create(const char *lb_service_name) {
|
|
81
90
|
return req;
|
82
91
|
}
|
83
92
|
|
84
|
-
|
93
|
+
grpc_slice grpc_grpclb_request_encode(const grpc_grpclb_request *request) {
|
85
94
|
size_t encoded_length;
|
86
95
|
pb_ostream_t sizestream;
|
87
96
|
pb_ostream_t outputstream;
|
88
|
-
|
97
|
+
grpc_slice slice;
|
89
98
|
memset(&sizestream, 0, sizeof(pb_ostream_t));
|
90
99
|
pb_encode(&sizestream, grpc_lb_v1_LoadBalanceRequest_fields, request);
|
91
100
|
encoded_length = sizestream.bytes_written;
|
92
101
|
|
93
|
-
slice =
|
102
|
+
slice = grpc_slice_malloc(encoded_length);
|
94
103
|
outputstream =
|
95
|
-
pb_ostream_from_buffer(
|
104
|
+
pb_ostream_from_buffer(GRPC_SLICE_START_PTR(slice), encoded_length);
|
96
105
|
GPR_ASSERT(pb_encode(&outputstream, grpc_lb_v1_LoadBalanceRequest_fields,
|
97
106
|
request) != 0);
|
98
107
|
return slice;
|
@@ -102,57 +111,62 @@ void grpc_grpclb_request_destroy(grpc_grpclb_request *request) {
|
|
102
111
|
gpr_free(request);
|
103
112
|
}
|
104
113
|
|
105
|
-
|
106
|
-
|
114
|
+
typedef grpc_lb_v1_LoadBalanceResponse grpc_grpclb_response;
|
115
|
+
grpc_grpclb_initial_response *grpc_grpclb_initial_response_parse(
|
116
|
+
grpc_slice encoded_grpc_grpclb_response) {
|
107
117
|
pb_istream_t stream =
|
108
|
-
pb_istream_from_buffer(
|
109
|
-
|
110
|
-
grpc_grpclb_response
|
111
|
-
memset(res, 0, sizeof(
|
112
|
-
|
113
|
-
|
114
|
-
grpc_grpclb_response_destroy(res);
|
118
|
+
pb_istream_from_buffer(GRPC_SLICE_START_PTR(encoded_grpc_grpclb_response),
|
119
|
+
GRPC_SLICE_LENGTH(encoded_grpc_grpclb_response));
|
120
|
+
grpc_grpclb_response res;
|
121
|
+
memset(&res, 0, sizeof(grpc_grpclb_response));
|
122
|
+
if (!pb_decode(&stream, grpc_lb_v1_LoadBalanceResponse_fields, &res)) {
|
123
|
+
gpr_log(GPR_ERROR, "nanopb error: %s", PB_GET_ERROR(&stream));
|
115
124
|
return NULL;
|
116
125
|
}
|
117
|
-
|
126
|
+
grpc_grpclb_initial_response *initial_res =
|
127
|
+
gpr_malloc(sizeof(grpc_grpclb_initial_response));
|
128
|
+
memcpy(initial_res, &res.initial_response,
|
129
|
+
sizeof(grpc_grpclb_initial_response));
|
130
|
+
|
131
|
+
return initial_res;
|
118
132
|
}
|
119
133
|
|
120
134
|
grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist(
|
121
|
-
|
135
|
+
grpc_slice encoded_grpc_grpclb_response) {
|
122
136
|
bool status;
|
123
137
|
decode_serverlist_arg arg;
|
124
138
|
pb_istream_t stream =
|
125
|
-
pb_istream_from_buffer(
|
126
|
-
|
139
|
+
pb_istream_from_buffer(GRPC_SLICE_START_PTR(encoded_grpc_grpclb_response),
|
140
|
+
GRPC_SLICE_LENGTH(encoded_grpc_grpclb_response));
|
127
141
|
pb_istream_t stream_at_start = stream;
|
128
|
-
grpc_grpclb_response
|
129
|
-
memset(res, 0, sizeof(
|
142
|
+
grpc_grpclb_response res;
|
143
|
+
memset(&res, 0, sizeof(grpc_grpclb_response));
|
130
144
|
memset(&arg, 0, sizeof(decode_serverlist_arg));
|
131
145
|
|
132
|
-
res
|
133
|
-
res
|
134
|
-
arg.first_pass =
|
135
|
-
status = pb_decode(&stream, grpc_lb_v1_LoadBalanceResponse_fields, res);
|
146
|
+
res.server_list.servers.funcs.decode = decode_serverlist;
|
147
|
+
res.server_list.servers.arg = &arg;
|
148
|
+
arg.first_pass = true;
|
149
|
+
status = pb_decode(&stream, grpc_lb_v1_LoadBalanceResponse_fields, &res);
|
136
150
|
if (!status) {
|
137
|
-
|
151
|
+
gpr_log(GPR_ERROR, "nanopb error: %s", PB_GET_ERROR(&stream));
|
138
152
|
return NULL;
|
139
153
|
}
|
140
154
|
|
141
|
-
arg.first_pass =
|
155
|
+
arg.first_pass = false;
|
142
156
|
status =
|
143
|
-
pb_decode(&stream_at_start, grpc_lb_v1_LoadBalanceResponse_fields, res);
|
157
|
+
pb_decode(&stream_at_start, grpc_lb_v1_LoadBalanceResponse_fields, &res);
|
144
158
|
if (!status) {
|
145
|
-
|
159
|
+
gpr_log(GPR_ERROR, "nanopb error: %s", PB_GET_ERROR(&stream));
|
146
160
|
return NULL;
|
147
161
|
}
|
148
162
|
|
149
163
|
grpc_grpclb_serverlist *sl = gpr_malloc(sizeof(grpc_grpclb_serverlist));
|
164
|
+
memset(sl, 0, sizeof(*sl));
|
150
165
|
sl->num_servers = arg.num_servers;
|
151
166
|
sl->servers = arg.servers;
|
152
|
-
if (res
|
153
|
-
sl->expiration_interval = res
|
167
|
+
if (res.server_list.has_expiration_interval) {
|
168
|
+
sl->expiration_interval = res.server_list.expiration_interval;
|
154
169
|
}
|
155
|
-
grpc_grpclb_response_destroy(res);
|
156
170
|
return sl;
|
157
171
|
}
|
158
172
|
|
@@ -167,6 +181,72 @@ void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist) {
|
|
167
181
|
gpr_free(serverlist);
|
168
182
|
}
|
169
183
|
|
170
|
-
|
184
|
+
grpc_grpclb_serverlist *grpc_grpclb_serverlist_copy(
|
185
|
+
const grpc_grpclb_serverlist *sl) {
|
186
|
+
grpc_grpclb_serverlist *copy = gpr_malloc(sizeof(grpc_grpclb_serverlist));
|
187
|
+
memset(copy, 0, sizeof(grpc_grpclb_serverlist));
|
188
|
+
copy->num_servers = sl->num_servers;
|
189
|
+
memcpy(©->expiration_interval, &sl->expiration_interval,
|
190
|
+
sizeof(grpc_grpclb_duration));
|
191
|
+
copy->servers = gpr_malloc(sizeof(grpc_grpclb_server *) * sl->num_servers);
|
192
|
+
for (size_t i = 0; i < sl->num_servers; i++) {
|
193
|
+
copy->servers[i] = gpr_malloc(sizeof(grpc_grpclb_server));
|
194
|
+
memcpy(copy->servers[i], sl->servers[i], sizeof(grpc_grpclb_server));
|
195
|
+
}
|
196
|
+
return copy;
|
197
|
+
}
|
198
|
+
|
199
|
+
bool grpc_grpclb_serverlist_equals(const grpc_grpclb_serverlist *lhs,
|
200
|
+
const grpc_grpclb_serverlist *rhs) {
|
201
|
+
if ((lhs == NULL) || (rhs == NULL)) {
|
202
|
+
return false;
|
203
|
+
}
|
204
|
+
if (lhs->num_servers != rhs->num_servers) {
|
205
|
+
return false;
|
206
|
+
}
|
207
|
+
if (grpc_grpclb_duration_compare(&lhs->expiration_interval,
|
208
|
+
&rhs->expiration_interval) != 0) {
|
209
|
+
return false;
|
210
|
+
}
|
211
|
+
for (size_t i = 0; i < lhs->num_servers; i++) {
|
212
|
+
if (!grpc_grpclb_server_equals(lhs->servers[i], rhs->servers[i])) {
|
213
|
+
return false;
|
214
|
+
}
|
215
|
+
}
|
216
|
+
return true;
|
217
|
+
}
|
218
|
+
|
219
|
+
bool grpc_grpclb_server_equals(const grpc_grpclb_server *lhs,
|
220
|
+
const grpc_grpclb_server *rhs) {
|
221
|
+
return memcmp(lhs, rhs, sizeof(grpc_grpclb_server)) == 0;
|
222
|
+
}
|
223
|
+
|
224
|
+
int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs,
|
225
|
+
const grpc_grpclb_duration *rhs) {
|
226
|
+
GPR_ASSERT(lhs && rhs);
|
227
|
+
if (lhs->has_seconds && rhs->has_seconds) {
|
228
|
+
if (lhs->seconds < rhs->seconds) return -1;
|
229
|
+
if (lhs->seconds > rhs->seconds) return 1;
|
230
|
+
} else if (lhs->has_seconds) {
|
231
|
+
return 1;
|
232
|
+
} else if (rhs->has_seconds) {
|
233
|
+
return -1;
|
234
|
+
}
|
235
|
+
|
236
|
+
GPR_ASSERT(lhs->seconds == rhs->seconds);
|
237
|
+
if (lhs->has_nanos && rhs->has_nanos) {
|
238
|
+
if (lhs->nanos < rhs->nanos) return -1;
|
239
|
+
if (lhs->nanos > rhs->nanos) return 1;
|
240
|
+
} else if (lhs->has_nanos) {
|
241
|
+
return 1;
|
242
|
+
} else if (rhs->has_nanos) {
|
243
|
+
return -1;
|
244
|
+
}
|
245
|
+
|
246
|
+
return 0;
|
247
|
+
}
|
248
|
+
|
249
|
+
void grpc_grpclb_initial_response_destroy(
|
250
|
+
grpc_grpclb_initial_response *response) {
|
171
251
|
gpr_free(response);
|
172
252
|
}
|
@@ -34,9 +34,9 @@
|
|
34
34
|
#ifndef GRPC_CORE_EXT_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H
|
35
35
|
#define GRPC_CORE_EXT_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H
|
36
36
|
|
37
|
-
#include <grpc/
|
37
|
+
#include <grpc/slice_buffer.h>
|
38
38
|
|
39
|
-
#include "src/core/ext/
|
39
|
+
#include "src/core/ext/client_channel/lb_policy_factory.h"
|
40
40
|
#include "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h"
|
41
41
|
|
42
42
|
#ifdef __cplusplus
|
@@ -45,8 +45,9 @@ extern "C" {
|
|
45
45
|
|
46
46
|
#define GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH 128
|
47
47
|
|
48
|
+
typedef grpc_lb_v1_Server_ip_address_t grpc_grpclb_ip_address;
|
48
49
|
typedef grpc_lb_v1_LoadBalanceRequest grpc_grpclb_request;
|
49
|
-
typedef
|
50
|
+
typedef grpc_lb_v1_InitialLoadBalanceResponse grpc_grpclb_initial_response;
|
50
51
|
typedef grpc_lb_v1_Server grpc_grpclb_server;
|
51
52
|
typedef grpc_lb_v1_Duration grpc_grpclb_duration;
|
52
53
|
typedef struct grpc_grpclb_serverlist {
|
@@ -59,24 +60,42 @@ typedef struct grpc_grpclb_serverlist {
|
|
59
60
|
grpc_grpclb_request *grpc_grpclb_request_create(const char *lb_service_name);
|
60
61
|
|
61
62
|
/** Protocol Buffers v3-encode \a request */
|
62
|
-
|
63
|
+
grpc_slice grpc_grpclb_request_encode(const grpc_grpclb_request *request);
|
63
64
|
|
64
65
|
/** Destroy \a request */
|
65
66
|
void grpc_grpclb_request_destroy(grpc_grpclb_request *request);
|
66
67
|
|
67
|
-
/** Parse (ie, decode) the bytes in \a
|
68
|
-
*
|
69
|
-
|
68
|
+
/** Parse (ie, decode) the bytes in \a encoded_grpc_grpclb_response as a \a
|
69
|
+
* grpc_grpclb_initial_response */
|
70
|
+
grpc_grpclb_initial_response *grpc_grpclb_initial_response_parse(
|
71
|
+
grpc_slice encoded_grpc_grpclb_response);
|
72
|
+
|
73
|
+
/** Parse the list of servers from an encoded \a grpc_grpclb_response */
|
74
|
+
grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist(
|
75
|
+
grpc_slice encoded_grpc_grpclb_response);
|
76
|
+
|
77
|
+
/** Return a copy of \a sl. The caller is responsible for calling \a
|
78
|
+
* grpc_grpclb_destroy_serverlist on the returned copy. */
|
79
|
+
grpc_grpclb_serverlist *grpc_grpclb_serverlist_copy(
|
80
|
+
const grpc_grpclb_serverlist *sl);
|
81
|
+
|
82
|
+
bool grpc_grpclb_serverlist_equals(const grpc_grpclb_serverlist *lhs,
|
83
|
+
const grpc_grpclb_serverlist *rhs);
|
84
|
+
|
85
|
+
bool grpc_grpclb_server_equals(const grpc_grpclb_server *lhs,
|
86
|
+
const grpc_grpclb_server *rhs);
|
70
87
|
|
71
88
|
/** Destroy \a serverlist */
|
72
89
|
void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist);
|
73
90
|
|
74
|
-
/**
|
75
|
-
|
76
|
-
|
91
|
+
/** Compare \a lhs against \a rhs and return 0 if \a lhs and \a rhs are equal,
|
92
|
+
* < 0 if \a lhs represents a duration shorter than \a rhs and > 0 otherwise */
|
93
|
+
int grpc_grpclb_duration_compare(const grpc_grpclb_duration *lhs,
|
94
|
+
const grpc_grpclb_duration *rhs);
|
77
95
|
|
78
|
-
/** Destroy \a
|
79
|
-
void
|
96
|
+
/** Destroy \a initial_response */
|
97
|
+
void grpc_grpclb_initial_response_destroy(
|
98
|
+
grpc_grpclb_initial_response *response);
|
80
99
|
|
81
100
|
#ifdef __cplusplus
|
82
101
|
}
|
@@ -1,40 +1,9 @@
|
|
1
|
-
/*
|
2
|
-
*
|
3
|
-
* Copyright 2016, Google Inc.
|
4
|
-
* All rights reserved.
|
5
|
-
*
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
7
|
-
* modification, are permitted provided that the following conditions are
|
8
|
-
* met:
|
9
|
-
*
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
12
|
-
* * Redistributions in binary form must reproduce the above
|
13
|
-
* copyright notice, this list of conditions and the following disclaimer
|
14
|
-
* in the documentation and/or other materials provided with the
|
15
|
-
* distribution.
|
16
|
-
* * Neither the name of Google Inc. nor the names of its
|
17
|
-
* contributors may be used to endorse or promote products derived from
|
18
|
-
* this software without specific prior written permission.
|
19
|
-
*
|
20
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
-
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
-
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
-
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
-
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
-
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
-
*
|
32
|
-
*/
|
33
1
|
/* Automatically generated nanopb constant definitions */
|
34
|
-
/* Generated by nanopb-0.3.
|
2
|
+
/* Generated by nanopb-0.3.7-dev */
|
35
3
|
|
36
4
|
#include "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h"
|
37
5
|
|
6
|
+
/* @@protoc_insertion_point(includes) */
|
38
7
|
#if PB_PROTO_HEADER_VERSION != 30
|
39
8
|
#error Regenerate this file with the current version of nanopb generator.
|
40
9
|
#endif
|
@@ -72,8 +41,8 @@ const pb_field_t grpc_lb_v1_LoadBalanceResponse_fields[3] = {
|
|
72
41
|
};
|
73
42
|
|
74
43
|
const pb_field_t grpc_lb_v1_InitialLoadBalanceResponse_fields[3] = {
|
75
|
-
PB_FIELD(
|
76
|
-
PB_FIELD(
|
44
|
+
PB_FIELD( 1, STRING , OPTIONAL, STATIC , FIRST, grpc_lb_v1_InitialLoadBalanceResponse, load_balancer_delegate, load_balancer_delegate, 0),
|
45
|
+
PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, grpc_lb_v1_InitialLoadBalanceResponse, client_stats_report_interval, load_balancer_delegate, &grpc_lb_v1_Duration_fields),
|
77
46
|
PB_LAST_FIELD
|
78
47
|
};
|
79
48
|
|
@@ -84,7 +53,7 @@ const pb_field_t grpc_lb_v1_ServerList_fields[3] = {
|
|
84
53
|
};
|
85
54
|
|
86
55
|
const pb_field_t grpc_lb_v1_Server_fields[5] = {
|
87
|
-
PB_FIELD( 1,
|
56
|
+
PB_FIELD( 1, BYTES , OPTIONAL, STATIC , FIRST, grpc_lb_v1_Server, ip_address, ip_address, 0),
|
88
57
|
PB_FIELD( 2, INT32 , OPTIONAL, STATIC , OTHER, grpc_lb_v1_Server, port, ip_address, 0),
|
89
58
|
PB_FIELD( 3, STRING , OPTIONAL, STATIC , OTHER, grpc_lb_v1_Server, load_balance_token, port, 0),
|
90
59
|
PB_FIELD( 4, BOOL , OPTIONAL, STATIC , OTHER, grpc_lb_v1_Server, drop_request, load_balance_token, 0),
|
@@ -116,3 +85,4 @@ PB_STATIC_ASSERT((pb_membersize(grpc_lb_v1_LoadBalanceRequest, initial_request)
|
|
116
85
|
#endif
|
117
86
|
|
118
87
|
|
88
|
+
/* @@protoc_insertion_point(eof) */
|
@@ -1,41 +1,10 @@
|
|
1
|
-
/*
|
2
|
-
*
|
3
|
-
* Copyright 2016, Google Inc.
|
4
|
-
* All rights reserved.
|
5
|
-
*
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
7
|
-
* modification, are permitted provided that the following conditions are
|
8
|
-
* met:
|
9
|
-
*
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
12
|
-
* * Redistributions in binary form must reproduce the above
|
13
|
-
* copyright notice, this list of conditions and the following disclaimer
|
14
|
-
* in the documentation and/or other materials provided with the
|
15
|
-
* distribution.
|
16
|
-
* * Neither the name of Google Inc. nor the names of its
|
17
|
-
* contributors may be used to endorse or promote products derived from
|
18
|
-
* this software without specific prior written permission.
|
19
|
-
*
|
20
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
-
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
-
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
-
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
-
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
-
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
-
*
|
32
|
-
*/
|
33
1
|
/* Automatically generated nanopb header */
|
34
|
-
/* Generated by nanopb-0.3.
|
2
|
+
/* Generated by nanopb-0.3.7-dev */
|
35
3
|
|
36
|
-
#ifndef
|
37
|
-
#define
|
4
|
+
#ifndef PB_GRPC_LB_V1_LOAD_BALANCER_PB_H_INCLUDED
|
5
|
+
#define PB_GRPC_LB_V1_LOAD_BALANCER_PB_H_INCLUDED
|
38
6
|
#include "third_party/nanopb/pb.h"
|
7
|
+
/* @@protoc_insertion_point(includes) */
|
39
8
|
#if PB_PROTO_HEADER_VERSION != 30
|
40
9
|
#error Regenerate this file with the current version of nanopb generator.
|
41
10
|
#endif
|
@@ -52,6 +21,7 @@ typedef struct _grpc_lb_v1_ClientStats {
|
|
52
21
|
int64_t client_rpc_errors;
|
53
22
|
bool has_dropped_requests;
|
54
23
|
int64_t dropped_requests;
|
24
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_ClientStats) */
|
55
25
|
} grpc_lb_v1_ClientStats;
|
56
26
|
|
57
27
|
typedef struct _grpc_lb_v1_Duration {
|
@@ -59,22 +29,26 @@ typedef struct _grpc_lb_v1_Duration {
|
|
59
29
|
int64_t seconds;
|
60
30
|
bool has_nanos;
|
61
31
|
int32_t nanos;
|
32
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_Duration) */
|
62
33
|
} grpc_lb_v1_Duration;
|
63
34
|
|
64
35
|
typedef struct _grpc_lb_v1_InitialLoadBalanceRequest {
|
65
36
|
bool has_name;
|
66
37
|
char name[128];
|
38
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_InitialLoadBalanceRequest) */
|
67
39
|
} grpc_lb_v1_InitialLoadBalanceRequest;
|
68
40
|
|
41
|
+
typedef PB_BYTES_ARRAY_T(16) grpc_lb_v1_Server_ip_address_t;
|
69
42
|
typedef struct _grpc_lb_v1_Server {
|
70
43
|
bool has_ip_address;
|
71
|
-
|
44
|
+
grpc_lb_v1_Server_ip_address_t ip_address;
|
72
45
|
bool has_port;
|
73
46
|
int32_t port;
|
74
47
|
bool has_load_balance_token;
|
75
|
-
char load_balance_token[
|
48
|
+
char load_balance_token[50];
|
76
49
|
bool has_drop_request;
|
77
50
|
bool drop_request;
|
51
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_Server) */
|
78
52
|
} grpc_lb_v1_Server;
|
79
53
|
|
80
54
|
typedef struct _grpc_lb_v1_InitialLoadBalanceResponse {
|
@@ -82,6 +56,7 @@ typedef struct _grpc_lb_v1_InitialLoadBalanceResponse {
|
|
82
56
|
char load_balancer_delegate[64];
|
83
57
|
bool has_client_stats_report_interval;
|
84
58
|
grpc_lb_v1_Duration client_stats_report_interval;
|
59
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_InitialLoadBalanceResponse) */
|
85
60
|
} grpc_lb_v1_InitialLoadBalanceResponse;
|
86
61
|
|
87
62
|
typedef struct _grpc_lb_v1_LoadBalanceRequest {
|
@@ -89,12 +64,14 @@ typedef struct _grpc_lb_v1_LoadBalanceRequest {
|
|
89
64
|
grpc_lb_v1_InitialLoadBalanceRequest initial_request;
|
90
65
|
bool has_client_stats;
|
91
66
|
grpc_lb_v1_ClientStats client_stats;
|
67
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_LoadBalanceRequest) */
|
92
68
|
} grpc_lb_v1_LoadBalanceRequest;
|
93
69
|
|
94
70
|
typedef struct _grpc_lb_v1_ServerList {
|
95
71
|
pb_callback_t servers;
|
96
72
|
bool has_expiration_interval;
|
97
73
|
grpc_lb_v1_Duration expiration_interval;
|
74
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_ServerList) */
|
98
75
|
} grpc_lb_v1_ServerList;
|
99
76
|
|
100
77
|
typedef struct _grpc_lb_v1_LoadBalanceResponse {
|
@@ -102,6 +79,7 @@ typedef struct _grpc_lb_v1_LoadBalanceResponse {
|
|
102
79
|
grpc_lb_v1_InitialLoadBalanceResponse initial_response;
|
103
80
|
bool has_server_list;
|
104
81
|
grpc_lb_v1_ServerList server_list;
|
82
|
+
/* @@protoc_insertion_point(struct:grpc_lb_v1_LoadBalanceResponse) */
|
105
83
|
} grpc_lb_v1_LoadBalanceResponse;
|
106
84
|
|
107
85
|
/* Default values for struct fields */
|
@@ -114,7 +92,7 @@ typedef struct _grpc_lb_v1_LoadBalanceResponse {
|
|
114
92
|
#define grpc_lb_v1_LoadBalanceResponse_init_default {false, grpc_lb_v1_InitialLoadBalanceResponse_init_default, false, grpc_lb_v1_ServerList_init_default}
|
115
93
|
#define grpc_lb_v1_InitialLoadBalanceResponse_init_default {false, "", false, grpc_lb_v1_Duration_init_default}
|
116
94
|
#define grpc_lb_v1_ServerList_init_default {{{NULL}, NULL}, false, grpc_lb_v1_Duration_init_default}
|
117
|
-
#define grpc_lb_v1_Server_init_default {false,
|
95
|
+
#define grpc_lb_v1_Server_init_default {false, {0, {0}}, false, 0, false, "", false, 0}
|
118
96
|
#define grpc_lb_v1_Duration_init_zero {false, 0, false, 0}
|
119
97
|
#define grpc_lb_v1_LoadBalanceRequest_init_zero {false, grpc_lb_v1_InitialLoadBalanceRequest_init_zero, false, grpc_lb_v1_ClientStats_init_zero}
|
120
98
|
#define grpc_lb_v1_InitialLoadBalanceRequest_init_zero {false, ""}
|
@@ -122,7 +100,7 @@ typedef struct _grpc_lb_v1_LoadBalanceResponse {
|
|
122
100
|
#define grpc_lb_v1_LoadBalanceResponse_init_zero {false, grpc_lb_v1_InitialLoadBalanceResponse_init_zero, false, grpc_lb_v1_ServerList_init_zero}
|
123
101
|
#define grpc_lb_v1_InitialLoadBalanceResponse_init_zero {false, "", false, grpc_lb_v1_Duration_init_zero}
|
124
102
|
#define grpc_lb_v1_ServerList_init_zero {{{NULL}, NULL}, false, grpc_lb_v1_Duration_init_zero}
|
125
|
-
#define grpc_lb_v1_Server_init_zero {false,
|
103
|
+
#define grpc_lb_v1_Server_init_zero {false, {0, {0}}, false, 0, false, "", false, 0}
|
126
104
|
|
127
105
|
/* Field tags (for use in manual encoding/decoding) */
|
128
106
|
#define grpc_lb_v1_ClientStats_total_requests_tag 1
|
@@ -135,8 +113,8 @@ typedef struct _grpc_lb_v1_LoadBalanceResponse {
|
|
135
113
|
#define grpc_lb_v1_Server_port_tag 2
|
136
114
|
#define grpc_lb_v1_Server_load_balance_token_tag 3
|
137
115
|
#define grpc_lb_v1_Server_drop_request_tag 4
|
138
|
-
#define grpc_lb_v1_InitialLoadBalanceResponse_load_balancer_delegate_tag
|
139
|
-
#define grpc_lb_v1_InitialLoadBalanceResponse_client_stats_report_interval_tag
|
116
|
+
#define grpc_lb_v1_InitialLoadBalanceResponse_load_balancer_delegate_tag 1
|
117
|
+
#define grpc_lb_v1_InitialLoadBalanceResponse_client_stats_report_interval_tag 2
|
140
118
|
#define grpc_lb_v1_LoadBalanceRequest_initial_request_tag 1
|
141
119
|
#define grpc_lb_v1_LoadBalanceRequest_client_stats_tag 2
|
142
120
|
#define grpc_lb_v1_ServerList_servers_tag 1
|
@@ -161,7 +139,8 @@ extern const pb_field_t grpc_lb_v1_Server_fields[5];
|
|
161
139
|
#define grpc_lb_v1_ClientStats_size 33
|
162
140
|
#define grpc_lb_v1_LoadBalanceResponse_size (98 + grpc_lb_v1_ServerList_size)
|
163
141
|
#define grpc_lb_v1_InitialLoadBalanceResponse_size 90
|
164
|
-
|
142
|
+
/* grpc_lb_v1_ServerList_size depends on runtime parameters */
|
143
|
+
#define grpc_lb_v1_Server_size 83
|
165
144
|
|
166
145
|
/* Message IDs (where set with "msgid" option) */
|
167
146
|
#ifdef PB_MSGID
|
@@ -174,5 +153,6 @@ extern const pb_field_t grpc_lb_v1_Server_fields[5];
|
|
174
153
|
#ifdef __cplusplus
|
175
154
|
} /* extern "C" */
|
176
155
|
#endif
|
156
|
+
/* @@protoc_insertion_point(eof) */
|
177
157
|
|
178
158
|
#endif
|