grpc 0.13.1 → 0.14.1.pre1
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 +2098 -828
- data/include/grpc/byte_buffer.h +1 -1
- data/include/grpc/byte_buffer_reader.h +1 -20
- data/include/grpc/census.h +4 -4
- data/include/grpc/compression.h +6 -5
- data/include/grpc/grpc.h +31 -20
- data/include/grpc/grpc_security.h +17 -31
- data/include/grpc/grpc_security_constants.h +114 -0
- data/include/grpc/grpc_zookeeper.h +1 -1
- data/include/grpc/impl/codegen/alloc.h +1 -1
- data/include/grpc/impl/codegen/atm.h +1 -1
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +1 -1
- data/include/grpc/impl/codegen/atm_gcc_sync.h +1 -1
- data/include/grpc/impl/codegen/atm_win32.h +1 -1
- data/include/grpc/impl/codegen/byte_buffer.h +1 -1
- data/{src/core/client_config/lb_policies/round_robin.h → include/grpc/impl/codegen/byte_buffer_reader.h} +19 -8
- data/include/grpc/impl/codegen/grpc_types.h +20 -3
- data/include/grpc/impl/codegen/log.h +9 -2
- data/include/grpc/impl/codegen/port_platform.h +102 -17
- data/include/grpc/impl/codegen/propagation_bits.h +3 -3
- data/include/grpc/impl/codegen/slice.h +3 -3
- data/include/grpc/impl/codegen/slice_buffer.h +3 -3
- data/include/grpc/impl/codegen/status.h +1 -1
- data/include/grpc/impl/codegen/sync_generic.h +1 -1
- data/include/grpc/impl/codegen/sync_posix.h +1 -1
- data/include/grpc/impl/codegen/sync_win32.h +1 -1
- data/include/grpc/impl/codegen/time.h +3 -3
- data/include/grpc/status.h +1 -1
- data/include/grpc/support/alloc.h +1 -1
- data/include/grpc/support/atm.h +1 -1
- data/include/grpc/support/atm_gcc_atomic.h +4 -4
- data/include/grpc/support/atm_gcc_sync.h +1 -1
- data/include/grpc/support/atm_win32.h +1 -1
- data/include/grpc/support/avl.h +1 -1
- data/include/grpc/support/cmdline.h +1 -1
- data/include/grpc/support/cpu.h +1 -1
- data/include/grpc/support/histogram.h +1 -1
- data/include/grpc/support/host_port.h +1 -1
- data/include/grpc/support/log.h +1 -1
- data/include/grpc/support/log_win32.h +1 -1
- data/include/grpc/support/port_platform.h +1 -1
- data/include/grpc/support/slice.h +1 -1
- data/include/grpc/support/slice_buffer.h +1 -1
- data/include/grpc/support/string_util.h +3 -1
- data/include/grpc/support/subprocess.h +2 -2
- data/include/grpc/support/sync.h +1 -1
- data/include/grpc/support/sync_generic.h +1 -1
- data/include/grpc/support/sync_posix.h +1 -1
- data/include/grpc/support/sync_win32.h +1 -1
- data/include/grpc/support/thd.h +1 -1
- data/include/grpc/support/time.h +1 -1
- data/include/grpc/support/tls.h +1 -1
- data/include/grpc/support/tls_gcc.h +45 -1
- data/include/grpc/support/tls_msvc.h +3 -3
- data/include/grpc/support/tls_pthread.h +1 -1
- data/include/grpc/support/useful.h +1 -1
- data/src/boringssl/err_data.c +258 -252
- data/src/core/{census → ext/census}/aggregation.h +3 -3
- data/src/core/{statistics → ext/census}/census_interface.h +3 -3
- data/src/core/{statistics → ext/census}/census_rpc_stats.h +4 -4
- data/src/core/{census → ext/census}/context.c +2 -2
- data/src/core/{census → ext/census}/grpc_context.c +2 -2
- data/src/core/{census → ext/census}/grpc_filter.c +30 -16
- data/src/core/{census → ext/census}/grpc_filter.h +4 -4
- data/src/core/ext/census/grpc_plugin.c +82 -0
- data/src/core/{census → ext/census}/initialize.c +1 -1
- data/src/core/{census → ext/census}/mlog.c +2 -2
- data/src/core/{census → ext/census}/mlog.h +4 -4
- data/src/core/{census → ext/census}/operation.c +0 -0
- data/src/core/{census → ext/census}/placeholders.c +0 -0
- data/src/core/{census → ext/census}/rpc_metric_id.h +3 -3
- data/src/core/{census → ext/census}/tracing.c +0 -0
- data/src/core/{surface → ext/client_config}/channel_connectivity.c +8 -21
- data/src/core/{channel → ext/client_config}/client_channel.c +80 -35
- data/src/core/{channel → ext/client_config}/client_channel.h +5 -5
- data/src/core/{client_config/subchannel_factory.c → ext/client_config/client_channel_factory.c} +14 -6
- data/src/core/ext/client_config/client_channel_factory.h +85 -0
- data/src/core/{client_config → ext/client_config}/client_config.c +4 -2
- data/src/core/{client_config → ext/client_config}/client_config.h +4 -4
- data/src/core/ext/client_config/client_config_plugin.c +95 -0
- data/src/core/{client_config → ext/client_config}/connector.c +2 -2
- data/src/core/{client_config → ext/client_config}/connector.h +7 -10
- data/src/core/{client_config → ext/client_config}/default_initial_connect_string.c +1 -1
- data/src/core/{client_config → ext/client_config}/initial_connect_string.c +1 -1
- data/src/core/{client_config → ext/client_config}/initial_connect_string.h +4 -4
- data/src/core/{client_config → ext/client_config}/lb_policy.c +12 -3
- data/src/core/{client_config → ext/client_config}/lb_policy.h +19 -6
- data/src/core/{client_config → ext/client_config}/lb_policy_factory.c +4 -3
- data/src/core/{client_config → ext/client_config}/lb_policy_factory.h +14 -9
- data/src/core/{client_config → ext/client_config}/lb_policy_registry.c +4 -9
- data/src/core/{client_config → ext/client_config}/lb_policy_registry.h +7 -6
- data/src/core/ext/client_config/parse_address.c +137 -0
- data/src/core/ext/client_config/parse_address.h +56 -0
- data/src/core/{client_config → ext/client_config}/resolver.c +1 -1
- data/src/core/{client_config → ext/client_config}/resolver.h +6 -6
- data/src/core/{client_config → ext/client_config}/resolver_factory.c +1 -1
- data/src/core/{client_config → ext/client_config}/resolver_factory.h +7 -7
- data/src/core/{client_config → ext/client_config}/resolver_registry.c +25 -11
- data/src/core/{client_config → ext/client_config}/resolver_registry.h +9 -5
- data/src/core/{client_config → ext/client_config}/subchannel.c +90 -126
- data/src/core/{client_config → ext/client_config}/subchannel.h +15 -15
- data/src/core/{channel → ext/client_config}/subchannel_call_holder.c +9 -8
- data/src/core/{channel → ext/client_config}/subchannel_call_holder.h +7 -7
- data/src/core/{client_config → ext/client_config}/subchannel_index.c +3 -2
- data/src/core/{client_config → ext/client_config}/subchannel_index.h +5 -5
- data/src/core/{client_config → ext/client_config}/uri_parser.c +69 -1
- data/src/core/{client_config → ext/client_config}/uri_parser.h +15 -3
- data/src/core/{client_config/lb_policies → ext/lb_policy/grpclb}/load_balancer_api.c +18 -9
- data/src/core/{client_config/lb_policies → ext/lb_policy/grpclb}/load_balancer_api.h +5 -5
- data/src/core/{proto → ext/lb_policy/grpclb/proto}/grpc/lb/v0/load_balancer.pb.c +1 -1
- data/src/core/{proto → ext/lb_policy/grpclb/proto}/grpc/lb/v0/load_balancer.pb.h +0 -0
- data/src/core/{client_config/lb_policies → ext/lb_policy/pick_first}/pick_first.c +95 -32
- data/src/core/{client_config/lb_policies → ext/lb_policy/round_robin}/round_robin.c +98 -34
- data/src/core/{client_config/resolvers → ext/resolver/dns/native}/dns_resolver.c +83 -39
- data/src/core/{client_config/resolvers → ext/resolver/sockaddr}/sockaddr_resolver.c +66 -169
- data/src/core/{transport/chttp2 → ext/transport/chttp2/alpn}/alpn.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/alpn}/alpn.h +3 -3
- data/src/core/{surface → ext/transport/chttp2/client/insecure}/channel_create.c +65 -59
- data/src/core/{surface → ext/transport/chttp2/client/secure}/secure_channel_create.c +77 -69
- data/src/core/{surface → ext/transport/chttp2/server/insecure}/server_chttp2.c +8 -11
- data/src/core/{security → ext/transport/chttp2/server/secure}/server_secure_chttp2.c +14 -17
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/bin_encoder.c +28 -74
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/bin_encoder.h +5 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +46 -0
- data/src/core/{transport → ext/transport/chttp2/transport}/chttp2_transport.c +551 -310
- data/src/core/{transport → ext/transport/chttp2/transport}/chttp2_transport.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_data.c +30 -14
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_data.h +10 -7
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_goaway.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_goaway.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_ping.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_ping.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_rst_stream.c +9 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_rst_stream.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_settings.c +6 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_settings.h +5 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_window_update.c +11 -5
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/frame_window_update.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_encoder.c +21 -12
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_encoder.h +8 -6
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_parser.c +42 -25
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_parser.h +7 -7
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_table.c +21 -11
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/hpack_table.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/http2_errors.h +3 -3
- data/src/core/ext/transport/chttp2/transport/huffsyms.c +105 -0
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/huffsyms.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/incoming_metadata.c +2 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/incoming_metadata.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/internal.h +81 -37
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/parsing.c +54 -21
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/status_conversion.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/status_conversion.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_lists.c +10 -2
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_map.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/stream_map.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/timeout_encoding.c +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/timeout_encoding.h +4 -4
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/varint.c +1 -1
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/varint.h +3 -3
- data/src/core/{transport/chttp2 → ext/transport/chttp2/transport}/writing.c +30 -20
- data/src/core/{channel → lib/channel}/channel_args.c +3 -15
- data/src/core/{channel → lib/channel}/channel_args.h +11 -15
- data/src/core/{channel → lib/channel}/channel_stack.c +5 -3
- data/src/core/{channel → lib/channel}/channel_stack.h +13 -8
- data/src/core/lib/channel/channel_stack_builder.c +277 -0
- data/src/core/lib/channel/channel_stack_builder.h +161 -0
- data/src/core/{channel → lib/channel}/compress_filter.c +51 -16
- data/src/core/{channel → lib/channel}/compress_filter.h +6 -4
- data/src/core/{channel → lib/channel}/connected_channel.c +34 -24
- data/src/core/lib/channel/connected_channel.h +42 -0
- data/src/core/{channel → lib/channel}/context.h +3 -3
- data/src/core/{channel → lib/channel}/http_client_filter.c +24 -13
- data/src/core/{channel → lib/channel}/http_client_filter.h +4 -4
- data/src/core/{channel → lib/channel}/http_server_filter.c +39 -19
- data/src/core/{channel → lib/channel}/http_server_filter.h +4 -4
- data/src/core/{compression → lib/compression}/algorithm_metadata.h +4 -4
- data/src/core/{compression → lib/compression}/compression_algorithm.c +46 -9
- data/src/core/{compression → lib/compression}/message_compress.c +1 -1
- data/src/core/{compression → lib/compression}/message_compress.h +3 -3
- data/src/core/{debug → lib/debug}/trace.c +2 -2
- data/src/core/{debug → lib/debug}/trace.h +3 -3
- data/src/core/{httpcli → lib/http}/format_request.c +8 -8
- data/src/core/{httpcli → lib/http}/format_request.h +4 -4
- data/src/core/{httpcli → lib/http}/httpcli.c +24 -19
- data/src/core/{httpcli → lib/http}/httpcli.h +14 -33
- data/src/core/{httpcli → lib/http}/httpcli_security_connector.c +5 -5
- data/src/core/lib/http/parser.c +341 -0
- data/src/core/lib/http/parser.h +119 -0
- data/src/core/{iomgr → lib/iomgr}/closure.c +8 -2
- data/src/core/{iomgr → lib/iomgr}/closure.h +7 -4
- data/src/core/{iomgr → lib/iomgr}/endpoint.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/endpoint.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair_posix.c +8 -7
- data/src/core/{iomgr → lib/iomgr}/endpoint_pair_windows.c +4 -4
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +1936 -0
- data/src/core/lib/iomgr/ev_poll_and_epoll_posix.h +41 -0
- data/src/core/lib/iomgr/ev_posix.c +164 -0
- data/src/core/lib/iomgr/ev_posix.h +158 -0
- data/src/core/{iomgr → lib/iomgr}/exec_ctx.c +78 -3
- data/src/core/{iomgr → lib/iomgr}/exec_ctx.h +25 -10
- data/src/core/{iomgr → lib/iomgr}/executor.c +3 -3
- data/src/core/{iomgr → lib/iomgr}/executor.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/iocp_windows.c +6 -6
- data/src/core/{iomgr → lib/iomgr}/iocp_windows.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/iomgr.c +13 -10
- data/src/core/{iomgr → lib/iomgr}/iomgr.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/iomgr_internal.h +5 -9
- data/src/core/{iomgr → lib/iomgr}/iomgr_posix.c +6 -6
- data/src/core/{iomgr → lib/iomgr}/iomgr_posix.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/iomgr_windows.c +7 -4
- data/src/core/{iomgr → lib/iomgr}/pollset.h +11 -11
- data/src/core/{iomgr → lib/iomgr}/pollset_set.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/pollset_set_windows.c +2 -2
- data/src/core/lib/iomgr/pollset_set_windows.h +39 -0
- data/src/core/{iomgr → lib/iomgr}/pollset_windows.c +7 -7
- data/src/core/{iomgr → lib/iomgr}/pollset_windows.h +8 -5
- data/src/core/{iomgr → lib/iomgr}/resolve_address.h +10 -9
- data/src/core/{iomgr → lib/iomgr}/resolve_address_posix.c +22 -22
- data/src/core/{iomgr → lib/iomgr}/resolve_address_windows.c +20 -12
- data/src/core/{iomgr → lib/iomgr}/sockaddr.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/sockaddr_posix.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/sockaddr_utils.c +9 -16
- data/src/core/{iomgr → lib/iomgr}/sockaddr_utils.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/sockaddr_win32.h +6 -4
- data/src/core/{iomgr → lib/iomgr}/socket_utils_common_posix.c +29 -7
- data/src/core/{iomgr → lib/iomgr}/socket_utils_linux.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/socket_utils_posix.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/socket_utils_posix.h +14 -4
- data/src/core/{iomgr → lib/iomgr}/socket_windows.c +7 -5
- data/src/core/{iomgr → lib/iomgr}/socket_windows.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_client.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_client_posix.c +33 -18
- data/src/core/{iomgr → lib/iomgr}/tcp_client_windows.c +30 -20
- data/src/core/{iomgr → lib/iomgr}/tcp_posix.c +9 -10
- data/src/core/{iomgr → lib/iomgr}/tcp_posix.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_server.h +6 -6
- data/src/core/{iomgr → lib/iomgr}/tcp_server_posix.c +24 -37
- data/src/core/{iomgr → lib/iomgr}/tcp_server_windows.c +8 -36
- data/src/core/{iomgr → lib/iomgr}/tcp_windows.c +27 -17
- data/src/core/{iomgr → lib/iomgr}/tcp_windows.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/time_averaged_stats.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/time_averaged_stats.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/timer.c +31 -4
- data/src/core/{iomgr → lib/iomgr}/timer.h +6 -7
- data/src/core/{iomgr → lib/iomgr}/timer_heap.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/timer_heap.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/udp_server.c +13 -37
- data/src/core/{iomgr → lib/iomgr}/udp_server.h +11 -10
- data/src/core/lib/iomgr/unix_sockets_posix.c +89 -0
- data/src/core/{client_config/resolvers/sockaddr_resolver.h → lib/iomgr/unix_sockets_posix.h} +15 -11
- data/src/core/lib/iomgr/unix_sockets_posix_noop.c +59 -0
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_eventfd.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_nospecial.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_pipe.c +8 -3
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_pipe.h +4 -4
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_posix.c +2 -2
- data/src/core/{iomgr → lib/iomgr}/wakeup_fd_posix.h +3 -3
- data/src/core/{iomgr → lib/iomgr}/workqueue.h +10 -10
- data/src/core/{iomgr → lib/iomgr}/workqueue_posix.c +5 -6
- data/src/core/{iomgr → lib/iomgr}/workqueue_posix.h +5 -5
- data/src/core/{iomgr → lib/iomgr}/workqueue_windows.c +1 -1
- data/src/core/{iomgr → lib/iomgr}/workqueue_windows.h +3 -3
- data/src/core/{json → lib/json}/json.c +1 -1
- data/src/core/{json → lib/json}/json.h +4 -4
- data/src/core/{json → lib/json}/json_common.h +3 -3
- data/src/core/{json → lib/json}/json_reader.c +16 -4
- data/src/core/{json → lib/json}/json_reader.h +4 -4
- data/src/core/{json → lib/json}/json_string.c +4 -4
- data/src/core/{json → lib/json}/json_writer.c +1 -1
- data/src/core/{json → lib/json}/json_writer.h +4 -4
- data/src/core/{profiling → lib/profiling}/basic_timers.c +3 -2
- data/src/core/{profiling → lib/profiling}/stap_timers.c +2 -2
- data/src/core/{profiling → lib/profiling}/timers.h +3 -3
- data/src/core/{security → lib/security}/auth_filters.h +4 -4
- data/src/core/{security → lib/security}/b64.c +2 -2
- data/src/core/{security → lib/security}/b64.h +4 -4
- data/src/core/{security → lib/security}/client_auth_filter.c +16 -16
- data/src/core/{security → lib/security}/credentials.c +42 -26
- data/src/core/{security → lib/security}/credentials.h +11 -10
- data/src/core/{security → lib/security}/credentials_metadata.c +1 -1
- data/src/core/{security → lib/security}/credentials_posix.c +3 -3
- data/src/core/{security → lib/security}/credentials_win32.c +3 -3
- data/src/core/{security → lib/security}/google_default_credentials.c +10 -9
- data/src/core/{security → lib/security}/handshake.c +4 -4
- data/src/core/{security → lib/security}/handshake.h +6 -6
- data/src/core/{security → lib/security}/json_token.c +4 -4
- data/src/core/{security → lib/security}/json_token.h +4 -4
- data/src/core/{security → lib/security}/jwt_verifier.c +14 -14
- data/src/core/{security → lib/security}/jwt_verifier.h +5 -5
- data/src/core/{security → lib/security}/secure_endpoint.c +9 -8
- data/src/core/{security → lib/security}/secure_endpoint.h +4 -4
- data/src/core/{security → lib/security}/security_connector.c +53 -21
- data/src/core/{security → lib/security}/security_connector.h +8 -8
- data/src/core/{security → lib/security}/security_context.c +5 -5
- data/src/core/{security → lib/security}/security_context.h +5 -5
- data/src/core/{security → lib/security}/server_auth_filter.c +9 -9
- data/src/core/{support → lib/support}/alloc.c +5 -3
- data/src/core/{support → lib/support}/avl.c +1 -1
- data/src/core/lib/support/backoff.c +76 -0
- data/src/core/lib/support/backoff.h +68 -0
- data/src/core/{support → lib/support}/block_annotate.h +3 -3
- data/src/core/{support → lib/support}/cmdline.c +1 -1
- data/src/core/{support → lib/support}/cpu_iphone.c +0 -0
- data/src/core/{support → lib/support}/cpu_linux.c +2 -2
- data/src/core/{support → lib/support}/cpu_posix.c +2 -2
- data/src/core/{support → lib/support}/cpu_windows.c +0 -0
- data/src/core/{support → lib/support}/env.h +3 -3
- data/src/core/{support → lib/support}/env_linux.c +3 -3
- data/src/core/{support → lib/support}/env_posix.c +2 -2
- data/src/core/{support → lib/support}/env_win32.c +27 -21
- data/src/core/{support → lib/support}/histogram.c +1 -1
- data/src/core/{support → lib/support}/host_port.c +1 -1
- data/src/core/{support → lib/support}/load_file.c +4 -4
- data/src/core/{support → lib/support}/load_file.h +4 -4
- data/src/core/{support → lib/support}/log.c +33 -0
- data/src/core/{support → lib/support}/log_android.c +2 -2
- data/src/core/{support → lib/support}/log_linux.c +6 -5
- data/src/core/{support → lib/support}/log_posix.c +3 -3
- data/src/core/{support → lib/support}/log_win32.c +8 -22
- data/src/core/{support → lib/support}/murmur_hash.c +1 -1
- data/src/core/{support → lib/support}/murmur_hash.h +3 -3
- data/src/core/{support → lib/support}/slice.c +0 -0
- data/src/core/{support → lib/support}/slice_buffer.c +0 -0
- data/src/core/{support → lib/support}/stack_lockfree.c +7 -7
- data/src/core/{support → lib/support}/stack_lockfree.h +3 -3
- data/src/core/{support → lib/support}/string.c +1 -1
- data/src/core/{support → lib/support}/string.h +4 -4
- data/src/core/{support → lib/support}/string_posix.c +1 -1
- data/src/core/{support/string_win32.c → lib/support/string_util_win32.c} +23 -38
- data/src/core/lib/support/string_win32.c +83 -0
- data/src/core/{support → lib/support}/string_win32.h +3 -3
- data/src/core/{support → lib/support}/subprocess_posix.c +3 -3
- data/src/core/{support → lib/support}/subprocess_windows.c +3 -3
- data/src/core/{support → lib/support}/sync.c +2 -2
- data/src/core/{support → lib/support}/sync_posix.c +3 -3
- data/src/core/{support → lib/support}/sync_win32.c +1 -1
- data/src/core/{support → lib/support}/thd.c +0 -0
- data/src/core/{support → lib/support}/thd_internal.h +3 -3
- data/src/core/{support → lib/support}/thd_posix.c +4 -3
- data/src/core/{support → lib/support}/thd_win32.c +1 -1
- data/src/core/{support → lib/support}/time.c +2 -2
- data/src/core/{support → lib/support}/time_posix.c +12 -6
- data/src/core/{support → lib/support}/time_precise.c +0 -0
- data/src/core/{support → lib/support}/time_precise.h +3 -3
- data/src/core/{support → lib/support}/time_win32.c +7 -7
- data/src/core/{support → lib/support}/tls_pthread.c +0 -0
- data/src/core/{support → lib/support}/tmpfile.h +4 -4
- data/src/core/lib/support/tmpfile_msys.c +73 -0
- data/src/core/{support → lib/support}/tmpfile_posix.c +5 -5
- data/src/core/{support → lib/support}/tmpfile_win32.c +5 -5
- data/src/core/{support → lib/support}/wrap_memcpy.c +0 -0
- data/src/core/{surface → lib/surface}/alarm.c +3 -3
- data/src/core/{surface → lib/surface}/api_trace.c +1 -1
- data/src/core/{surface → lib/surface}/api_trace.h +4 -4
- data/src/core/{surface → lib/surface}/byte_buffer.c +3 -3
- data/src/core/{surface → lib/surface}/byte_buffer_reader.c +3 -3
- data/src/core/{surface → lib/surface}/call.c +145 -73
- data/src/core/{surface → lib/surface}/call.h +14 -7
- data/src/core/{surface → lib/surface}/call_details.c +1 -1
- data/src/core/{surface → lib/surface}/call_log_batch.c +2 -2
- data/src/core/{surface → lib/surface}/call_test_only.h +3 -3
- data/src/core/{surface → lib/surface}/channel.c +33 -34
- data/src/core/{surface → lib/surface}/channel.h +9 -9
- data/src/core/lib/surface/channel_init.c +140 -0
- data/src/core/lib/surface/channel_init.h +87 -0
- data/src/core/{surface → lib/surface}/channel_ping.c +4 -4
- data/src/core/lib/surface/channel_stack_type.c +54 -0
- data/src/core/{httpcli/parser.h → lib/surface/channel_stack_type.h} +22 -28
- data/src/core/{surface → lib/surface}/completion_queue.c +15 -11
- data/src/core/{surface → lib/surface}/completion_queue.h +4 -4
- data/src/core/{surface → lib/surface}/event_string.c +2 -2
- data/src/core/{surface → lib/surface}/event_string.h +3 -3
- data/src/core/lib/surface/init.c +217 -0
- data/src/core/{surface → lib/surface}/init.h +4 -3
- data/src/core/lib/surface/init_secure.c +89 -0
- data/src/core/{surface → lib/surface}/lame_client.c +31 -19
- data/src/core/{iomgr/pollset_set_windows.h → lib/surface/lame_client.h} +7 -5
- data/src/core/{surface → lib/surface}/metadata_array.c +1 -1
- data/src/core/{surface → lib/surface}/server.c +208 -183
- data/src/core/{surface → lib/surface}/server.h +6 -11
- data/src/core/{surface → lib/surface}/surface_trace.h +5 -5
- data/src/core/{surface → lib/surface}/validate_metadata.c +1 -1
- data/src/core/{surface → lib/surface}/version.c +2 -2
- data/src/core/{transport → lib/transport}/byte_stream.c +1 -1
- data/src/core/{transport → lib/transport}/byte_stream.h +4 -4
- data/src/core/{transport → lib/transport}/connectivity_state.c +2 -2
- data/src/core/{transport → lib/transport}/connectivity_state.h +4 -4
- data/src/core/{transport → lib/transport}/metadata.c +71 -19
- data/src/core/{transport → lib/transport}/metadata.h +11 -4
- data/src/core/{transport → lib/transport}/metadata_batch.c +2 -2
- data/src/core/{transport → lib/transport}/metadata_batch.h +4 -4
- data/src/core/{transport → lib/transport}/static_metadata.c +100 -32
- data/src/core/{transport → lib/transport}/static_metadata.h +58 -58
- data/src/core/{transport → lib/transport}/transport.c +25 -5
- data/src/core/{transport → lib/transport}/transport.h +41 -16
- data/src/core/{transport → lib/transport}/transport_impl.h +8 -5
- data/src/core/{transport → lib/transport}/transport_op_string.c +2 -2
- data/src/core/{tsi → lib/tsi}/fake_transport_security.c +18 -14
- data/src/core/{tsi → lib/tsi}/fake_transport_security.h +4 -4
- data/src/core/{tsi → lib/tsi}/ssl_transport_security.c +173 -63
- data/src/core/{tsi → lib/tsi}/ssl_transport_security.h +24 -6
- data/src/core/{tsi → lib/tsi}/ssl_types.h +3 -3
- data/src/core/{tsi → lib/tsi}/transport_security.c +12 -28
- data/src/core/{tsi → lib/tsi}/transport_security.h +4 -4
- data/src/core/{tsi → lib/tsi}/transport_security_interface.h +12 -3
- data/src/core/plugin_registry/grpc_plugin_registry.c +66 -0
- data/src/ruby/ext/grpc/extconf.rb +14 -20
- data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -3
- data/src/ruby/ext/grpc/rb_call.c +37 -4
- data/src/ruby/ext/grpc/rb_call_credentials.c +13 -3
- data/src/ruby/ext/grpc/rb_channel.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_args.c +2 -3
- data/src/ruby/ext/grpc/rb_channel_credentials.c +31 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +2 -2
- data/src/ruby/ext/grpc/rb_event_thread.c +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +8 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +14 -2
- data/src/ruby/ext/grpc/rb_server.c +2 -3
- data/src/ruby/ext/grpc/rb_server_credentials.c +16 -13
- data/src/ruby/ext/grpc/rb_signal.c +70 -0
- data/src/ruby/ext/grpc/rb_signal.h +39 -0
- data/src/ruby/lib/grpc.rb +21 -13
- data/src/ruby/lib/grpc/core/time_consts.rb +2 -2
- data/src/ruby/lib/grpc/errors.rb +2 -2
- data/src/ruby/lib/grpc/generic/active_call.rb +10 -3
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -2
- data/src/ruby/lib/grpc/generic/client_stub.rb +10 -7
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +2 -2
- data/src/ruby/lib/grpc/generic/rpc_server.rb +21 -61
- data/src/ruby/lib/grpc/generic/service.rb +5 -15
- data/src/ruby/lib/grpc/grpc.rb +3 -3
- data/src/ruby/{bin/interop/interop_server.rb → lib/grpc/signals.rb} +39 -20
- data/src/ruby/lib/grpc/version.rb +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +9 -2
- data/src/ruby/pb/grpc/health/checker.rb +1 -1
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services.rb +27 -0
- data/src/ruby/pb/test/client.rb +12 -23
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +18 -17
- data/src/ruby/spec/generic/rpc_server_spec.rb +23 -7
- data/src/ruby/spec/generic/service_spec.rb +0 -69
- data/src/ruby/{bin/interop/interop_client.rb → spec/pb/duplicate/codegen_spec.rb} +41 -21
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +184 -176
- data/third_party/boringssl/crypto/asn1/a_bool.c +42 -44
- data/third_party/boringssl/crypto/asn1/a_bytes.c +236 -245
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +173 -192
- data/third_party/boringssl/crypto/asn1/a_dup.c +43 -35
- data/third_party/boringssl/crypto/asn1/a_enum.c +107 -109
- data/third_party/boringssl/crypto/asn1/a_gentm.c +180 -181
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +73 -80
- data/third_party/boringssl/crypto/asn1/a_int.c +357 -353
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +272 -253
- data/third_party/boringssl/crypto/asn1/a_object.c +293 -309
- data/third_party/boringssl/crypto/asn1/a_octet.c +13 -6
- data/third_party/boringssl/crypto/asn1/a_print.c +54 -52
- data/third_party/boringssl/crypto/asn1/a_strnid.c +179 -157
- data/third_party/boringssl/crypto/asn1/a_time.c +125 -129
- data/third_party/boringssl/crypto/asn1/a_type.c +79 -86
- data/third_party/boringssl/crypto/asn1/a_utctm.c +246 -255
- data/third_party/boringssl/crypto/asn1/a_utf8.c +159 -135
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +361 -368
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +11 -11
- data/third_party/boringssl/crypto/asn1/asn1_par.c +309 -351
- data/third_party/boringssl/crypto/asn1/asn_pack.c +30 -29
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +375 -394
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +146 -149
- data/third_party/boringssl/crypto/asn1/f_enum.c +128 -134
- data/third_party/boringssl/crypto/asn1/f_int.c +131 -139
- data/third_party/boringssl/crypto/asn1/f_string.c +125 -133
- data/third_party/boringssl/crypto/asn1/t_bitst.c +30 -29
- data/third_party/boringssl/crypto/asn1/t_pkey.c +45 -47
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +1099 -1216
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +556 -592
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +175 -193
- data/third_party/boringssl/crypto/asn1/tasn_new.c +271 -288
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +462 -508
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +28 -21
- data/third_party/boringssl/crypto/asn1/x_bignum.c +62 -52
- data/third_party/boringssl/crypto/asn1/x_long.c +101 -86
- data/third_party/boringssl/crypto/bio/buffer.c +3 -3
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +8 -68
- data/third_party/boringssl/crypto/bn/bn.c +1 -1
- data/third_party/boringssl/crypto/bn/bn_asn1.c +9 -22
- data/third_party/boringssl/crypto/bn/convert.c +9 -4
- data/third_party/boringssl/crypto/bn/div.c +0 -20
- data/third_party/boringssl/crypto/bn/exponentiation.c +22 -13
- data/third_party/boringssl/crypto/bn/generic.c +6 -242
- data/third_party/boringssl/crypto/bn/internal.h +9 -70
- data/third_party/boringssl/crypto/bn/montgomery.c +1 -2
- data/third_party/boringssl/crypto/bn/mul.c +6 -26
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +21 -28
- data/third_party/boringssl/crypto/bytestring/asn1_compat.c +51 -0
- data/third_party/boringssl/crypto/bytestring/ber.c +128 -87
- data/third_party/boringssl/crypto/bytestring/cbb.c +37 -3
- data/third_party/boringssl/crypto/bytestring/internal.h +39 -10
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +18 -13
- data/third_party/boringssl/crypto/cipher/e_aes.c +2 -2
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +4 -9
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +39 -10
- data/third_party/boringssl/crypto/conf/conf.c +9 -0
- data/third_party/boringssl/crypto/cpu-intel.c +1 -1
- data/third_party/boringssl/crypto/crypto.c +2 -0
- data/third_party/boringssl/crypto/curve25519/curve25519.c +125 -120
- data/third_party/boringssl/crypto/curve25519/internal.h +45 -0
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +225 -0
- data/third_party/boringssl/crypto/dh/check.c +32 -10
- data/third_party/boringssl/crypto/dh/dh.c +1 -1
- data/third_party/boringssl/crypto/digest/md32_common.h +0 -60
- data/third_party/boringssl/crypto/dsa/dsa.c +47 -21
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +249 -64
- data/third_party/boringssl/crypto/ec/ec.c +45 -31
- data/third_party/boringssl/crypto/ec/ec_asn1.c +315 -382
- data/third_party/boringssl/crypto/ec/ec_key.c +1 -4
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -9
- data/third_party/boringssl/crypto/ec/internal.h +1 -19
- data/third_party/boringssl/crypto/ec/oct.c +12 -0
- data/third_party/boringssl/crypto/ec/p224-64.c +4 -65
- data/third_party/boringssl/crypto/ec/p256-64.c +9 -71
- data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +1 -6
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +3 -13
- data/third_party/boringssl/crypto/ec/simple.c +0 -76
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +1 -1
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +10 -24
- data/third_party/boringssl/crypto/evp/evp.c +4 -3
- data/third_party/boringssl/crypto/evp/evp_asn1.c +101 -0
- data/third_party/boringssl/crypto/evp/evp_ctx.c +22 -51
- data/third_party/boringssl/crypto/evp/internal.h +28 -27
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +78 -249
- data/third_party/boringssl/crypto/evp/p_ec.c +19 -66
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +74 -231
- data/third_party/boringssl/crypto/evp/p_rsa.c +90 -13
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +49 -48
- data/third_party/boringssl/crypto/internal.h +16 -1
- data/third_party/boringssl/crypto/mem.c +2 -2
- data/third_party/boringssl/crypto/modes/ctr.c +2 -1
- data/third_party/boringssl/crypto/modes/gcm.c +5 -3
- data/third_party/boringssl/crypto/obj/obj_dat.h +6 -3
- data/third_party/boringssl/crypto/pem/pem_all.c +83 -102
- data/third_party/boringssl/crypto/pem/pem_info.c +286 -309
- data/third_party/boringssl/crypto/pem/pem_lib.c +690 -710
- data/third_party/boringssl/crypto/pem/pem_oth.c +15 -16
- data/third_party/boringssl/crypto/pem/pem_pk8.c +132 -119
- data/third_party/boringssl/crypto/pem/pem_pkey.c +144 -220
- data/third_party/boringssl/crypto/pem/pem_x509.c +3 -3
- data/third_party/boringssl/crypto/pem/pem_xaux.c +5 -4
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +54 -60
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +3 -1
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +48 -50
- data/third_party/boringssl/crypto/rand/rand.c +2 -0
- data/third_party/boringssl/crypto/rsa/blinding.c +8 -48
- data/third_party/boringssl/crypto/rsa/internal.h +1 -9
- data/third_party/boringssl/crypto/rsa/padding.c +73 -77
- data/third_party/boringssl/crypto/rsa/rsa.c +1 -1
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +27 -46
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +23 -34
- data/third_party/boringssl/crypto/test/scoped_types.h +3 -0
- data/third_party/boringssl/crypto/thread_win.c +15 -13
- data/third_party/boringssl/crypto/time_support.c +0 -6
- data/third_party/boringssl/crypto/x509/a_digest.c +26 -27
- data/third_party/boringssl/crypto/x509/a_sign.c +63 -64
- data/third_party/boringssl/crypto/x509/a_strex.c +482 -413
- data/third_party/boringssl/crypto/x509/a_verify.c +45 -51
- data/third_party/boringssl/crypto/x509/asn1_gen.c +715 -769
- data/third_party/boringssl/crypto/x509/by_dir.c +355 -393
- data/third_party/boringssl/crypto/x509/by_file.c +186 -206
- data/third_party/boringssl/crypto/x509/charmap.h +11 -11
- data/third_party/boringssl/crypto/x509/i2d_pr.c +21 -22
- data/third_party/boringssl/crypto/x509/t_crl.c +50 -51
- data/third_party/boringssl/crypto/x509/t_x509.c +414 -406
- data/third_party/boringssl/crypto/x509/t_x509a.c +44 -42
- data/third_party/boringssl/crypto/x509/vpm_int.h +13 -13
- data/third_party/boringssl/crypto/x509/x509_att.c +241 -219
- data/third_party/boringssl/crypto/x509/x509_cmp.c +343 -359
- data/third_party/boringssl/crypto/x509/x509_d2.c +36 -35
- data/third_party/boringssl/crypto/x509/x509_def.c +23 -13
- data/third_party/boringssl/crypto/x509/x509_ext.c +75 -75
- data/third_party/boringssl/crypto/x509/x509_lu.c +574 -612
- data/third_party/boringssl/crypto/x509/x509_obj.c +104 -115
- data/third_party/boringssl/crypto/x509/x509_r2x.c +40 -40
- data/third_party/boringssl/crypto/x509/x509_req.c +181 -174
- data/third_party/boringssl/crypto/x509/x509_set.c +71 -76
- data/third_party/boringssl/crypto/x509/x509_trs.c +193 -171
- data/third_party/boringssl/crypto/x509/x509_txt.c +135 -138
- data/third_party/boringssl/crypto/x509/x509_v3.c +174 -167
- data/third_party/boringssl/crypto/x509/x509_vfy.c +2079 -2130
- data/third_party/boringssl/crypto/x509/x509_vpm.c +486 -522
- data/third_party/boringssl/crypto/x509/x509cset.c +96 -99
- data/third_party/boringssl/crypto/x509/x509name.c +280 -275
- data/third_party/boringssl/crypto/x509/x509rset.c +15 -14
- data/third_party/boringssl/crypto/x509/x509spki.c +62 -60
- data/third_party/boringssl/crypto/x509/x509type.c +58 -60
- data/third_party/boringssl/crypto/x509/x_algor.c +70 -73
- data/third_party/boringssl/crypto/x509/x_all.c +282 -328
- data/third_party/boringssl/crypto/x509/x_attrib.c +36 -42
- data/third_party/boringssl/crypto/x509/x_crl.c +397 -418
- data/third_party/boringssl/crypto/x509/x_exten.c +5 -5
- data/third_party/boringssl/crypto/x509/x_info.c +30 -27
- data/third_party/boringssl/crypto/x509/x_name.c +387 -388
- data/third_party/boringssl/crypto/x509/x_pkey.c +32 -29
- data/third_party/boringssl/crypto/x509/x_pubkey.c +261 -280
- data/third_party/boringssl/crypto/x509/x_req.c +30 -33
- data/third_party/boringssl/crypto/x509/x_sig.c +2 -2
- data/third_party/boringssl/crypto/x509/x_spki.c +9 -7
- data/third_party/boringssl/crypto/x509/x_val.c +2 -2
- data/third_party/boringssl/crypto/x509/x_x509.c +120 -119
- data/third_party/boringssl/crypto/x509/x_x509a.c +99 -91
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +57 -51
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +199 -214
- data/third_party/boringssl/crypto/x509v3/pcy_data.c +57 -64
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +95 -90
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +86 -87
- data/third_party/boringssl/crypto/x509v3/pcy_map.c +61 -64
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +108 -117
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +676 -724
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +128 -136
- data/third_party/boringssl/crypto/x509v3/v3_akeya.c +7 -6
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +499 -507
- data/third_party/boringssl/crypto/x509v3/v3_bcons.c +54 -47
- data/third_party/boringssl/crypto/x509v3/v3_bitst.c +67 -67
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +330 -328
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +354 -338
- data/third_party/boringssl/crypto/x509v3/v3_crld.c +441 -496
- data/third_party/boringssl/crypto/x509v3/v3_enum.c +35 -33
- data/third_party/boringssl/crypto/x509v3/v3_extku.c +66 -63
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +157 -159
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +45 -43
- data/third_party/boringssl/crypto/x509v3/v3_info.c +124 -112
- data/third_party/boringssl/crypto/x509v3/v3_int.c +30 -26
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +231 -204
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +353 -381
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +252 -270
- data/third_party/boringssl/crypto/x509v3/v3_pcia.c +9 -8
- data/third_party/boringssl/crypto/x509v3/v3_pcons.c +58 -61
- data/third_party/boringssl/crypto/x509v3/v3_pku.c +35 -34
- data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +72 -74
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +146 -121
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +651 -582
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +76 -72
- data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +139 -131
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +1072 -1068
- data/third_party/boringssl/include/openssl/asn1.h +40 -38
- data/third_party/boringssl/include/openssl/base.h +10 -1
- data/third_party/boringssl/include/openssl/bio.h +10 -11
- data/third_party/boringssl/include/openssl/bn.h +12 -9
- data/third_party/boringssl/include/openssl/buf.h +1 -1
- data/third_party/boringssl/include/openssl/bytestring.h +29 -0
- data/third_party/boringssl/include/openssl/conf.h +25 -0
- data/third_party/boringssl/include/openssl/crypto.h +6 -1
- data/third_party/boringssl/include/openssl/curve25519.h +6 -3
- data/third_party/boringssl/include/openssl/dh.h +7 -3
- data/third_party/boringssl/include/openssl/dsa.h +108 -51
- data/third_party/boringssl/include/openssl/ec.h +46 -21
- data/third_party/boringssl/include/openssl/ec_key.h +78 -42
- data/third_party/boringssl/include/openssl/ecdsa.h +4 -4
- data/third_party/boringssl/include/openssl/err.h +3 -2
- data/third_party/boringssl/include/openssl/evp.h +120 -37
- data/third_party/boringssl/include/openssl/mem.h +4 -13
- data/third_party/boringssl/include/openssl/obj_mac.h +4 -0
- data/third_party/boringssl/include/openssl/pem.h +0 -9
- data/third_party/boringssl/include/openssl/pkcs8.h +6 -2
- data/third_party/boringssl/include/openssl/rand.h +3 -0
- data/third_party/boringssl/include/openssl/rsa.h +42 -42
- data/third_party/boringssl/include/openssl/ssl.h +115 -41
- data/third_party/boringssl/include/openssl/stack.h +0 -3
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -256
- data/third_party/boringssl/include/openssl/tls1.h +1 -1
- data/third_party/boringssl/include/openssl/x509.h +0 -2
- data/third_party/boringssl/include/openssl/x509_vfy.h +5 -0
- data/third_party/boringssl/ssl/d1_both.c +102 -101
- data/third_party/boringssl/ssl/d1_clnt.c +145 -150
- data/third_party/boringssl/ssl/d1_lib.c +63 -62
- data/third_party/boringssl/ssl/d1_pkt.c +73 -71
- data/third_party/boringssl/ssl/d1_srvr.c +116 -125
- data/third_party/boringssl/ssl/dtls_record.c +3 -3
- data/third_party/boringssl/ssl/internal.h +210 -208
- data/third_party/boringssl/ssl/pqueue/pqueue.c +2 -2
- data/third_party/boringssl/ssl/s3_both.c +116 -130
- data/third_party/boringssl/ssl/s3_clnt.c +589 -740
- data/third_party/boringssl/ssl/s3_enc.c +52 -151
- data/third_party/boringssl/ssl/s3_lib.c +70 -76
- data/third_party/boringssl/ssl/s3_pkt.c +105 -144
- data/third_party/boringssl/ssl/s3_srvr.c +542 -806
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +1 -1
- data/third_party/boringssl/ssl/ssl_cert.c +2 -2
- data/third_party/boringssl/ssl/ssl_cipher.c +7 -3
- data/third_party/boringssl/ssl/ssl_ecdh.c +374 -0
- data/third_party/boringssl/ssl/ssl_lib.c +260 -221
- data/third_party/boringssl/ssl/ssl_session.c +17 -17
- data/third_party/boringssl/ssl/t1_enc.c +128 -273
- data/third_party/boringssl/ssl/t1_lib.c +134 -258
- data/third_party/boringssl/ssl/test/test_config.h +2 -0
- data/third_party/boringssl/ssl/tls_record.c +52 -15
- metadata +385 -359
- data/src/core/channel/client_uchannel.c +0 -243
- data/src/core/channel/client_uchannel.h +0 -60
- data/src/core/channel/connected_channel.h +0 -51
- data/src/core/client_config/lb_policies/pick_first.h +0 -43
- data/src/core/client_config/resolvers/dns_resolver.h +0 -42
- data/src/core/client_config/subchannel_factory.h +0 -66
- data/src/core/httpcli/parser.c +0 -211
- data/src/core/iomgr/fd_posix.c +0 -451
- data/src/core/iomgr/fd_posix.h +0 -192
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +0 -324
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +0 -234
- data/src/core/iomgr/pollset_posix.c +0 -633
- data/src/core/iomgr/pollset_posix.h +0 -153
- data/src/core/iomgr/pollset_set_posix.c +0 -202
- data/src/core/iomgr/pollset_set_posix.h +0 -45
- data/src/core/surface/init.c +0 -174
- data/src/core/surface/init_secure.c +0 -42
- data/src/core/surface/server_create.c +0 -48
- data/src/core/transport/chttp2/huffsyms.c +0 -297
- data/src/ruby/bin/grpc_ruby_interop_client +0 -33
- data/src/ruby/bin/grpc_ruby_interop_server +0 -33
- data/third_party/boringssl/crypto/dsa/internal.h +0 -78
@@ -1,6 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
*
|
3
|
-
* Copyright 2015-2016, Google Inc.
|
2
|
+
* Copyright 2015, Google Inc.
|
4
3
|
* All rights reserved.
|
5
4
|
*
|
6
5
|
* Redistribution and use in source and binary forms, with or without
|
@@ -28,27 +27,24 @@
|
|
28
27
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
28
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
29
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
-
*
|
32
30
|
*/
|
33
31
|
|
34
32
|
/*
|
35
33
|
* WARNING: Auto-generated code.
|
36
34
|
*
|
37
35
|
* To make changes to this file, change
|
38
|
-
* tools/codegen/core/gen_static_metadata.py,
|
39
|
-
* and then re-run it.
|
36
|
+
* tools/codegen/core/gen_static_metadata.py, and then re-run it.
|
40
37
|
*
|
41
38
|
* See metadata.h for an explanation of the interface here, and metadata.c for
|
42
|
-
* an
|
43
|
-
* explanation of what's going on.
|
39
|
+
* an explanation of what's going on.
|
44
40
|
*/
|
45
41
|
|
46
|
-
#ifndef
|
47
|
-
#define
|
42
|
+
#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
43
|
+
#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
|
48
44
|
|
49
|
-
#include "src/core/transport/metadata.h"
|
45
|
+
#include "src/core/lib/transport/metadata.h"
|
50
46
|
|
51
|
-
#define GRPC_STATIC_MDSTR_COUNT
|
47
|
+
#define GRPC_STATIC_MDSTR_COUNT 90
|
52
48
|
extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
|
53
49
|
/* "0" */
|
54
50
|
#define GRPC_MDSTR_0 (&grpc_static_mdstr_table[0])
|
@@ -193,44 +189,46 @@ extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
|
|
193
189
|
#define GRPC_MDSTR_PROXY_AUTHENTICATE (&grpc_static_mdstr_table[69])
|
194
190
|
/* "proxy-authorization" */
|
195
191
|
#define GRPC_MDSTR_PROXY_AUTHORIZATION (&grpc_static_mdstr_table[70])
|
192
|
+
/* "PUT" */
|
193
|
+
#define GRPC_MDSTR_PUT (&grpc_static_mdstr_table[71])
|
196
194
|
/* "range" */
|
197
|
-
#define GRPC_MDSTR_RANGE (&grpc_static_mdstr_table[
|
195
|
+
#define GRPC_MDSTR_RANGE (&grpc_static_mdstr_table[72])
|
198
196
|
/* "referer" */
|
199
|
-
#define GRPC_MDSTR_REFERER (&grpc_static_mdstr_table[
|
197
|
+
#define GRPC_MDSTR_REFERER (&grpc_static_mdstr_table[73])
|
200
198
|
/* "refresh" */
|
201
|
-
#define GRPC_MDSTR_REFRESH (&grpc_static_mdstr_table[
|
199
|
+
#define GRPC_MDSTR_REFRESH (&grpc_static_mdstr_table[74])
|
202
200
|
/* "retry-after" */
|
203
|
-
#define GRPC_MDSTR_RETRY_AFTER (&grpc_static_mdstr_table[
|
201
|
+
#define GRPC_MDSTR_RETRY_AFTER (&grpc_static_mdstr_table[75])
|
204
202
|
/* ":scheme" */
|
205
|
-
#define GRPC_MDSTR_SCHEME (&grpc_static_mdstr_table[
|
203
|
+
#define GRPC_MDSTR_SCHEME (&grpc_static_mdstr_table[76])
|
206
204
|
/* "server" */
|
207
|
-
#define GRPC_MDSTR_SERVER (&grpc_static_mdstr_table[
|
205
|
+
#define GRPC_MDSTR_SERVER (&grpc_static_mdstr_table[77])
|
208
206
|
/* "set-cookie" */
|
209
|
-
#define GRPC_MDSTR_SET_COOKIE (&grpc_static_mdstr_table[
|
207
|
+
#define GRPC_MDSTR_SET_COOKIE (&grpc_static_mdstr_table[78])
|
210
208
|
/* "/" */
|
211
|
-
#define GRPC_MDSTR_SLASH (&grpc_static_mdstr_table[
|
209
|
+
#define GRPC_MDSTR_SLASH (&grpc_static_mdstr_table[79])
|
212
210
|
/* "/index.html" */
|
213
|
-
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (&grpc_static_mdstr_table[
|
211
|
+
#define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (&grpc_static_mdstr_table[80])
|
214
212
|
/* ":status" */
|
215
|
-
#define GRPC_MDSTR_STATUS (&grpc_static_mdstr_table[
|
213
|
+
#define GRPC_MDSTR_STATUS (&grpc_static_mdstr_table[81])
|
216
214
|
/* "strict-transport-security" */
|
217
|
-
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (&grpc_static_mdstr_table[
|
215
|
+
#define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (&grpc_static_mdstr_table[82])
|
218
216
|
/* "te" */
|
219
|
-
#define GRPC_MDSTR_TE (&grpc_static_mdstr_table[
|
217
|
+
#define GRPC_MDSTR_TE (&grpc_static_mdstr_table[83])
|
220
218
|
/* "trailers" */
|
221
|
-
#define GRPC_MDSTR_TRAILERS (&grpc_static_mdstr_table[
|
219
|
+
#define GRPC_MDSTR_TRAILERS (&grpc_static_mdstr_table[84])
|
222
220
|
/* "transfer-encoding" */
|
223
|
-
#define GRPC_MDSTR_TRANSFER_ENCODING (&grpc_static_mdstr_table[
|
221
|
+
#define GRPC_MDSTR_TRANSFER_ENCODING (&grpc_static_mdstr_table[85])
|
224
222
|
/* "user-agent" */
|
225
|
-
#define GRPC_MDSTR_USER_AGENT (&grpc_static_mdstr_table[
|
223
|
+
#define GRPC_MDSTR_USER_AGENT (&grpc_static_mdstr_table[86])
|
226
224
|
/* "vary" */
|
227
|
-
#define GRPC_MDSTR_VARY (&grpc_static_mdstr_table[
|
225
|
+
#define GRPC_MDSTR_VARY (&grpc_static_mdstr_table[87])
|
228
226
|
/* "via" */
|
229
|
-
#define GRPC_MDSTR_VIA (&grpc_static_mdstr_table[
|
227
|
+
#define GRPC_MDSTR_VIA (&grpc_static_mdstr_table[88])
|
230
228
|
/* "www-authenticate" */
|
231
|
-
#define GRPC_MDSTR_WWW_AUTHENTICATE (&grpc_static_mdstr_table[
|
229
|
+
#define GRPC_MDSTR_WWW_AUTHENTICATE (&grpc_static_mdstr_table[89])
|
232
230
|
|
233
|
-
#define GRPC_STATIC_MDELEM_COUNT
|
231
|
+
#define GRPC_STATIC_MDELEM_COUNT 79
|
234
232
|
extern grpc_mdelem grpc_static_mdelem_table[GRPC_STATIC_MDELEM_COUNT];
|
235
233
|
extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
|
236
234
|
/* "accept-charset": "" */
|
@@ -343,61 +341,63 @@ extern uintptr_t grpc_static_mdelem_user_data[GRPC_STATIC_MDELEM_COUNT];
|
|
343
341
|
#define GRPC_MDELEM_METHOD_GET (&grpc_static_mdelem_table[49])
|
344
342
|
/* ":method": "POST" */
|
345
343
|
#define GRPC_MDELEM_METHOD_POST (&grpc_static_mdelem_table[50])
|
344
|
+
/* ":method": "PUT" */
|
345
|
+
#define GRPC_MDELEM_METHOD_PUT (&grpc_static_mdelem_table[51])
|
346
346
|
/* ":path": "/" */
|
347
|
-
#define GRPC_MDELEM_PATH_SLASH (&grpc_static_mdelem_table[
|
347
|
+
#define GRPC_MDELEM_PATH_SLASH (&grpc_static_mdelem_table[52])
|
348
348
|
/* ":path": "/index.html" */
|
349
|
-
#define GRPC_MDELEM_PATH_SLASH_INDEX_DOT_HTML (&grpc_static_mdelem_table[
|
349
|
+
#define GRPC_MDELEM_PATH_SLASH_INDEX_DOT_HTML (&grpc_static_mdelem_table[53])
|
350
350
|
/* "proxy-authenticate": "" */
|
351
|
-
#define GRPC_MDELEM_PROXY_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[
|
351
|
+
#define GRPC_MDELEM_PROXY_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[54])
|
352
352
|
/* "proxy-authorization": "" */
|
353
|
-
#define GRPC_MDELEM_PROXY_AUTHORIZATION_EMPTY (&grpc_static_mdelem_table[
|
353
|
+
#define GRPC_MDELEM_PROXY_AUTHORIZATION_EMPTY (&grpc_static_mdelem_table[55])
|
354
354
|
/* "range": "" */
|
355
|
-
#define GRPC_MDELEM_RANGE_EMPTY (&grpc_static_mdelem_table[
|
355
|
+
#define GRPC_MDELEM_RANGE_EMPTY (&grpc_static_mdelem_table[56])
|
356
356
|
/* "referer": "" */
|
357
|
-
#define GRPC_MDELEM_REFERER_EMPTY (&grpc_static_mdelem_table[
|
357
|
+
#define GRPC_MDELEM_REFERER_EMPTY (&grpc_static_mdelem_table[57])
|
358
358
|
/* "refresh": "" */
|
359
|
-
#define GRPC_MDELEM_REFRESH_EMPTY (&grpc_static_mdelem_table[
|
359
|
+
#define GRPC_MDELEM_REFRESH_EMPTY (&grpc_static_mdelem_table[58])
|
360
360
|
/* "retry-after": "" */
|
361
|
-
#define GRPC_MDELEM_RETRY_AFTER_EMPTY (&grpc_static_mdelem_table[
|
361
|
+
#define GRPC_MDELEM_RETRY_AFTER_EMPTY (&grpc_static_mdelem_table[59])
|
362
362
|
/* ":scheme": "grpc" */
|
363
|
-
#define GRPC_MDELEM_SCHEME_GRPC (&grpc_static_mdelem_table[
|
363
|
+
#define GRPC_MDELEM_SCHEME_GRPC (&grpc_static_mdelem_table[60])
|
364
364
|
/* ":scheme": "http" */
|
365
|
-
#define GRPC_MDELEM_SCHEME_HTTP (&grpc_static_mdelem_table[
|
365
|
+
#define GRPC_MDELEM_SCHEME_HTTP (&grpc_static_mdelem_table[61])
|
366
366
|
/* ":scheme": "https" */
|
367
|
-
#define GRPC_MDELEM_SCHEME_HTTPS (&grpc_static_mdelem_table[
|
367
|
+
#define GRPC_MDELEM_SCHEME_HTTPS (&grpc_static_mdelem_table[62])
|
368
368
|
/* "server": "" */
|
369
|
-
#define GRPC_MDELEM_SERVER_EMPTY (&grpc_static_mdelem_table[
|
369
|
+
#define GRPC_MDELEM_SERVER_EMPTY (&grpc_static_mdelem_table[63])
|
370
370
|
/* "set-cookie": "" */
|
371
|
-
#define GRPC_MDELEM_SET_COOKIE_EMPTY (&grpc_static_mdelem_table[
|
371
|
+
#define GRPC_MDELEM_SET_COOKIE_EMPTY (&grpc_static_mdelem_table[64])
|
372
372
|
/* ":status": "200" */
|
373
|
-
#define GRPC_MDELEM_STATUS_200 (&grpc_static_mdelem_table[
|
373
|
+
#define GRPC_MDELEM_STATUS_200 (&grpc_static_mdelem_table[65])
|
374
374
|
/* ":status": "204" */
|
375
|
-
#define GRPC_MDELEM_STATUS_204 (&grpc_static_mdelem_table[
|
375
|
+
#define GRPC_MDELEM_STATUS_204 (&grpc_static_mdelem_table[66])
|
376
376
|
/* ":status": "206" */
|
377
|
-
#define GRPC_MDELEM_STATUS_206 (&grpc_static_mdelem_table[
|
377
|
+
#define GRPC_MDELEM_STATUS_206 (&grpc_static_mdelem_table[67])
|
378
378
|
/* ":status": "304" */
|
379
|
-
#define GRPC_MDELEM_STATUS_304 (&grpc_static_mdelem_table[
|
379
|
+
#define GRPC_MDELEM_STATUS_304 (&grpc_static_mdelem_table[68])
|
380
380
|
/* ":status": "400" */
|
381
|
-
#define GRPC_MDELEM_STATUS_400 (&grpc_static_mdelem_table[
|
381
|
+
#define GRPC_MDELEM_STATUS_400 (&grpc_static_mdelem_table[69])
|
382
382
|
/* ":status": "404" */
|
383
|
-
#define GRPC_MDELEM_STATUS_404 (&grpc_static_mdelem_table[
|
383
|
+
#define GRPC_MDELEM_STATUS_404 (&grpc_static_mdelem_table[70])
|
384
384
|
/* ":status": "500" */
|
385
|
-
#define GRPC_MDELEM_STATUS_500 (&grpc_static_mdelem_table[
|
385
|
+
#define GRPC_MDELEM_STATUS_500 (&grpc_static_mdelem_table[71])
|
386
386
|
/* "strict-transport-security": "" */
|
387
387
|
#define GRPC_MDELEM_STRICT_TRANSPORT_SECURITY_EMPTY \
|
388
|
-
(&grpc_static_mdelem_table[
|
388
|
+
(&grpc_static_mdelem_table[72])
|
389
389
|
/* "te": "trailers" */
|
390
|
-
#define GRPC_MDELEM_TE_TRAILERS (&grpc_static_mdelem_table[
|
390
|
+
#define GRPC_MDELEM_TE_TRAILERS (&grpc_static_mdelem_table[73])
|
391
391
|
/* "transfer-encoding": "" */
|
392
|
-
#define GRPC_MDELEM_TRANSFER_ENCODING_EMPTY (&grpc_static_mdelem_table[
|
392
|
+
#define GRPC_MDELEM_TRANSFER_ENCODING_EMPTY (&grpc_static_mdelem_table[74])
|
393
393
|
/* "user-agent": "" */
|
394
|
-
#define GRPC_MDELEM_USER_AGENT_EMPTY (&grpc_static_mdelem_table[
|
394
|
+
#define GRPC_MDELEM_USER_AGENT_EMPTY (&grpc_static_mdelem_table[75])
|
395
395
|
/* "vary": "" */
|
396
|
-
#define GRPC_MDELEM_VARY_EMPTY (&grpc_static_mdelem_table[
|
396
|
+
#define GRPC_MDELEM_VARY_EMPTY (&grpc_static_mdelem_table[76])
|
397
397
|
/* "via": "" */
|
398
|
-
#define GRPC_MDELEM_VIA_EMPTY (&grpc_static_mdelem_table[
|
398
|
+
#define GRPC_MDELEM_VIA_EMPTY (&grpc_static_mdelem_table[77])
|
399
399
|
/* "www-authenticate": "" */
|
400
|
-
#define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[
|
400
|
+
#define GRPC_MDELEM_WWW_AUTHENTICATE_EMPTY (&grpc_static_mdelem_table[78])
|
401
401
|
|
402
402
|
extern const uint8_t
|
403
403
|
grpc_static_metadata_elem_indices[GRPC_STATIC_MDELEM_COUNT * 2];
|
@@ -405,4 +405,4 @@ extern const char *const grpc_static_metadata_strings[GRPC_STATIC_MDSTR_COUNT];
|
|
405
405
|
extern const uint8_t grpc_static_accept_encoding_metadata[8];
|
406
406
|
#define GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(algs) \
|
407
407
|
(&grpc_static_mdelem_table[grpc_static_accept_encoding_metadata[(algs)]])
|
408
|
-
#endif /*
|
408
|
+
#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015
|
3
|
+
* Copyright 2015, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -31,11 +31,12 @@
|
|
31
31
|
*
|
32
32
|
*/
|
33
33
|
|
34
|
-
#include "src/core/transport/transport.h"
|
34
|
+
#include "src/core/lib/transport/transport.h"
|
35
35
|
#include <grpc/support/alloc.h>
|
36
36
|
#include <grpc/support/atm.h>
|
37
37
|
#include <grpc/support/log.h>
|
38
|
-
#include
|
38
|
+
#include <grpc/support/sync.h>
|
39
|
+
#include "src/core/lib/transport/transport_impl.h"
|
39
40
|
|
40
41
|
#ifdef GRPC_STREAM_REFCOUNT_DEBUG
|
41
42
|
void grpc_stream_ref(grpc_stream_refcount *refcount, const char *reason) {
|
@@ -76,6 +77,24 @@ void grpc_stream_ref_init(grpc_stream_refcount *refcount, int initial_refs,
|
|
76
77
|
grpc_closure_init(&refcount->destroy, cb, cb_arg);
|
77
78
|
}
|
78
79
|
|
80
|
+
static void move64(uint64_t *from, uint64_t *to) {
|
81
|
+
*to += *from;
|
82
|
+
*from = 0;
|
83
|
+
}
|
84
|
+
|
85
|
+
void grpc_transport_move_one_way_stats(grpc_transport_one_way_stats *from,
|
86
|
+
grpc_transport_one_way_stats *to) {
|
87
|
+
move64(&from->framing_bytes, &to->framing_bytes);
|
88
|
+
move64(&from->data_bytes, &to->data_bytes);
|
89
|
+
move64(&from->header_bytes, &to->header_bytes);
|
90
|
+
}
|
91
|
+
|
92
|
+
void grpc_transport_move_stats(grpc_transport_stream_stats *from,
|
93
|
+
grpc_transport_stream_stats *to) {
|
94
|
+
grpc_transport_move_one_way_stats(&from->incoming, &to->incoming);
|
95
|
+
grpc_transport_move_one_way_stats(&from->outgoing, &to->outgoing);
|
96
|
+
}
|
97
|
+
|
79
98
|
size_t grpc_transport_stream_size(grpc_transport *transport) {
|
80
99
|
return transport->vtable->sizeof_stream;
|
81
100
|
}
|
@@ -114,8 +133,9 @@ void grpc_transport_set_pollset(grpc_exec_ctx *exec_ctx,
|
|
114
133
|
|
115
134
|
void grpc_transport_destroy_stream(grpc_exec_ctx *exec_ctx,
|
116
135
|
grpc_transport *transport,
|
117
|
-
grpc_stream *stream) {
|
118
|
-
transport->vtable->destroy_stream(exec_ctx, transport, stream
|
136
|
+
grpc_stream *stream, void *and_free_memory) {
|
137
|
+
transport->vtable->destroy_stream(exec_ctx, transport, stream,
|
138
|
+
and_free_memory);
|
119
139
|
}
|
120
140
|
|
121
141
|
char *grpc_transport_get_peer(grpc_exec_ctx *exec_ctx,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015
|
3
|
+
* Copyright 2015, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -31,16 +31,16 @@
|
|
31
31
|
*
|
32
32
|
*/
|
33
33
|
|
34
|
-
#ifndef
|
35
|
-
#define
|
34
|
+
#ifndef GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
|
35
|
+
#define GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
|
36
36
|
|
37
37
|
#include <stddef.h>
|
38
38
|
|
39
|
-
#include "src/core/
|
40
|
-
#include "src/core/iomgr/
|
41
|
-
#include "src/core/
|
42
|
-
#include "src/core/transport/byte_stream.h"
|
43
|
-
#include "src/core/
|
39
|
+
#include "src/core/lib/channel/context.h"
|
40
|
+
#include "src/core/lib/iomgr/pollset.h"
|
41
|
+
#include "src/core/lib/iomgr/pollset_set.h"
|
42
|
+
#include "src/core/lib/transport/byte_stream.h"
|
43
|
+
#include "src/core/lib/transport/metadata_batch.h"
|
44
44
|
|
45
45
|
/* forward declarations */
|
46
46
|
typedef struct grpc_transport grpc_transport;
|
@@ -50,7 +50,7 @@ typedef struct grpc_transport grpc_transport;
|
|
50
50
|
for a stream. */
|
51
51
|
typedef struct grpc_stream grpc_stream;
|
52
52
|
|
53
|
-
|
53
|
+
//#define GRPC_STREAM_REFCOUNT_DEBUG
|
54
54
|
|
55
55
|
typedef struct grpc_stream_refcount {
|
56
56
|
gpr_refcount refs;
|
@@ -78,11 +78,37 @@ void grpc_stream_unref(grpc_exec_ctx *exec_ctx, grpc_stream_refcount *refcount);
|
|
78
78
|
grpc_stream_ref_init(rc, ir, cb, cb_arg)
|
79
79
|
#endif
|
80
80
|
|
81
|
+
typedef struct {
|
82
|
+
uint64_t framing_bytes;
|
83
|
+
uint64_t data_bytes;
|
84
|
+
uint64_t header_bytes;
|
85
|
+
} grpc_transport_one_way_stats;
|
86
|
+
|
87
|
+
typedef struct grpc_transport_stream_stats {
|
88
|
+
grpc_transport_one_way_stats incoming;
|
89
|
+
grpc_transport_one_way_stats outgoing;
|
90
|
+
} grpc_transport_stream_stats;
|
91
|
+
|
92
|
+
void grpc_transport_move_one_way_stats(grpc_transport_one_way_stats *from,
|
93
|
+
grpc_transport_one_way_stats *to);
|
94
|
+
|
95
|
+
void grpc_transport_move_stats(grpc_transport_stream_stats *from,
|
96
|
+
grpc_transport_stream_stats *to);
|
97
|
+
|
81
98
|
/* Transport stream op: a set of operations to perform on a transport
|
82
99
|
against a single stream */
|
83
100
|
typedef struct grpc_transport_stream_op {
|
84
|
-
/**
|
101
|
+
/** Should be enqueued when all requested operations (excluding recv_message
|
102
|
+
and recv_initial_metadata which have their own closures) in a given batch
|
103
|
+
have been completed. */
|
104
|
+
grpc_closure *on_complete;
|
105
|
+
|
106
|
+
/** Send initial metadata to the peer, from the provided metadata batch.
|
107
|
+
idempotent_request MUST be set if this is non-null */
|
85
108
|
grpc_metadata_batch *send_initial_metadata;
|
109
|
+
/** Iff send_initial_metadata != NULL, flags associated with
|
110
|
+
send_initial_metadata: a bitfield of GRPC_INITIAL_METADATA_xxx */
|
111
|
+
uint32_t send_initial_metadata_flags;
|
86
112
|
|
87
113
|
/** Send trailing metadata to the peer, from the provided metadata batch. */
|
88
114
|
grpc_metadata_batch *send_trailing_metadata;
|
@@ -92,6 +118,7 @@ typedef struct grpc_transport_stream_op {
|
|
92
118
|
|
93
119
|
/** Receive initial metadata from the stream, into provided metadata batch. */
|
94
120
|
grpc_metadata_batch *recv_initial_metadata;
|
121
|
+
bool *recv_idempotent_request;
|
95
122
|
/** Should be enqueued when initial metadata is ready to be processed. */
|
96
123
|
grpc_closure *recv_initial_metadata_ready;
|
97
124
|
|
@@ -104,10 +131,8 @@ typedef struct grpc_transport_stream_op {
|
|
104
131
|
*/
|
105
132
|
grpc_metadata_batch *recv_trailing_metadata;
|
106
133
|
|
107
|
-
/**
|
108
|
-
|
109
|
-
have been completed. */
|
110
|
-
grpc_closure *on_complete;
|
134
|
+
/** Collect any stats into provided buffer, zero internal stat counters */
|
135
|
+
grpc_transport_stream_stats *collect_stats;
|
111
136
|
|
112
137
|
/** If != GRPC_STATUS_OK, cancel this stream */
|
113
138
|
grpc_status_code cancel_with_status;
|
@@ -188,7 +213,7 @@ void grpc_transport_set_pollset(grpc_exec_ctx *exec_ctx,
|
|
188
213
|
caller, but any child memory must be cleaned up) */
|
189
214
|
void grpc_transport_destroy_stream(grpc_exec_ctx *exec_ctx,
|
190
215
|
grpc_transport *transport,
|
191
|
-
grpc_stream *stream);
|
216
|
+
grpc_stream *stream, void *and_free_memory);
|
192
217
|
|
193
218
|
void grpc_transport_stream_op_finish_with_failure(grpc_exec_ctx *exec_ctx,
|
194
219
|
grpc_transport_stream_op *op);
|
@@ -239,4 +264,4 @@ void grpc_transport_destroy(grpc_exec_ctx *exec_ctx, grpc_transport *transport);
|
|
239
264
|
char *grpc_transport_get_peer(grpc_exec_ctx *exec_ctx,
|
240
265
|
grpc_transport *transport);
|
241
266
|
|
242
|
-
#endif /*
|
267
|
+
#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H */
|
@@ -31,16 +31,19 @@
|
|
31
31
|
*
|
32
32
|
*/
|
33
33
|
|
34
|
-
#ifndef
|
35
|
-
#define
|
34
|
+
#ifndef GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H
|
35
|
+
#define GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H
|
36
36
|
|
37
|
-
#include "src/core/transport/transport.h"
|
37
|
+
#include "src/core/lib/transport/transport.h"
|
38
38
|
|
39
39
|
typedef struct grpc_transport_vtable {
|
40
40
|
/* Memory required for a single stream element - this is allocated by upper
|
41
41
|
layers and initialized by the transport */
|
42
42
|
size_t sizeof_stream; /* = sizeof(transport stream) */
|
43
43
|
|
44
|
+
/* name of this transport implementation */
|
45
|
+
const char *name;
|
46
|
+
|
44
47
|
/* implementation of grpc_transport_init_stream */
|
45
48
|
int (*init_stream)(grpc_exec_ctx *exec_ctx, grpc_transport *self,
|
46
49
|
grpc_stream *stream, grpc_stream_refcount *refcount,
|
@@ -60,7 +63,7 @@ typedef struct grpc_transport_vtable {
|
|
60
63
|
|
61
64
|
/* implementation of grpc_transport_destroy_stream */
|
62
65
|
void (*destroy_stream)(grpc_exec_ctx *exec_ctx, grpc_transport *self,
|
63
|
-
grpc_stream *stream);
|
66
|
+
grpc_stream *stream, void *and_free_memory);
|
64
67
|
|
65
68
|
/* implementation of grpc_transport_destroy */
|
66
69
|
void (*destroy)(grpc_exec_ctx *exec_ctx, grpc_transport *self);
|
@@ -75,4 +78,4 @@ struct grpc_transport {
|
|
75
78
|
const grpc_transport_vtable *vtable;
|
76
79
|
};
|
77
80
|
|
78
|
-
#endif /*
|
81
|
+
#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */
|
@@ -31,16 +31,16 @@
|
|
31
31
|
*
|
32
32
|
*/
|
33
33
|
|
34
|
-
#include "src/core/channel/channel_stack.h"
|
34
|
+
#include "src/core/lib/channel/channel_stack.h"
|
35
35
|
|
36
36
|
#include <stdarg.h>
|
37
37
|
#include <stdio.h>
|
38
38
|
#include <string.h>
|
39
39
|
|
40
|
-
#include "src/core/support/string.h"
|
41
40
|
#include <grpc/support/alloc.h>
|
42
41
|
#include <grpc/support/string_util.h>
|
43
42
|
#include <grpc/support/useful.h>
|
43
|
+
#include "src/core/lib/support/string.h"
|
44
44
|
|
45
45
|
/* These routines are here to facilitate debugging - they produce string
|
46
46
|
representations of various transport data structures */
|
@@ -31,15 +31,16 @@
|
|
31
31
|
*
|
32
32
|
*/
|
33
33
|
|
34
|
-
#include "src/core/tsi/fake_transport_security.h"
|
34
|
+
#include "src/core/lib/tsi/fake_transport_security.h"
|
35
35
|
|
36
36
|
#include <stdlib.h>
|
37
37
|
#include <string.h>
|
38
38
|
|
39
|
+
#include <grpc/support/alloc.h>
|
39
40
|
#include <grpc/support/log.h>
|
40
41
|
#include <grpc/support/port_platform.h>
|
41
42
|
#include <grpc/support/useful.h>
|
42
|
-
#include "src/core/tsi/transport_security.h"
|
43
|
+
#include "src/core/lib/tsi/transport_security.h"
|
43
44
|
|
44
45
|
/* --- Constants. ---*/
|
45
46
|
#define TSI_FAKE_FRAME_HEADER_SIZE 4
|
@@ -134,12 +135,12 @@ static void tsi_fake_frame_reset(tsi_fake_frame *frame, int needs_draining) {
|
|
134
135
|
static int tsi_fake_frame_ensure_size(tsi_fake_frame *frame) {
|
135
136
|
if (frame->data == NULL) {
|
136
137
|
frame->allocated_size = frame->size;
|
137
|
-
frame->data =
|
138
|
+
frame->data = gpr_malloc(frame->allocated_size);
|
138
139
|
if (frame->data == NULL) return 0;
|
139
140
|
} else if (frame->size > frame->allocated_size) {
|
140
|
-
unsigned char *new_data =
|
141
|
+
unsigned char *new_data = gpr_realloc(frame->data, frame->size);
|
141
142
|
if (new_data == NULL) {
|
142
|
-
|
143
|
+
gpr_free(frame->data);
|
143
144
|
frame->data = NULL;
|
144
145
|
return 0;
|
145
146
|
}
|
@@ -160,7 +161,7 @@ static tsi_result fill_frame_from_bytes(const unsigned char *incoming_bytes,
|
|
160
161
|
if (frame->needs_draining) return TSI_INTERNAL_ERROR;
|
161
162
|
if (frame->data == NULL) {
|
162
163
|
frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE;
|
163
|
-
frame->data =
|
164
|
+
frame->data = gpr_malloc(frame->allocated_size);
|
164
165
|
if (frame->data == NULL) return TSI_OUT_OF_RESOURCES;
|
165
166
|
}
|
166
167
|
|
@@ -226,7 +227,7 @@ static tsi_result bytes_to_frame(unsigned char *bytes, size_t bytes_size,
|
|
226
227
|
}
|
227
228
|
|
228
229
|
static void tsi_fake_frame_destruct(tsi_fake_frame *frame) {
|
229
|
-
if (frame->data != NULL)
|
230
|
+
if (frame->data != NULL) gpr_free(frame->data);
|
230
231
|
}
|
231
232
|
|
232
233
|
/* --- tsi_frame_protector methods implementation. ---*/
|
@@ -366,7 +367,7 @@ static void fake_protector_destroy(tsi_frame_protector *self) {
|
|
366
367
|
tsi_fake_frame_protector *impl = (tsi_fake_frame_protector *)self;
|
367
368
|
tsi_fake_frame_destruct(&impl->protect_frame);
|
368
369
|
tsi_fake_frame_destruct(&impl->unprotect_frame);
|
369
|
-
|
370
|
+
gpr_free(self);
|
370
371
|
}
|
371
372
|
|
372
373
|
static const tsi_frame_protector_vtable frame_protector_vtable = {
|
@@ -488,18 +489,21 @@ static void fake_handshaker_destroy(tsi_handshaker *self) {
|
|
488
489
|
tsi_fake_handshaker *impl = (tsi_fake_handshaker *)self;
|
489
490
|
tsi_fake_frame_destruct(&impl->incoming);
|
490
491
|
tsi_fake_frame_destruct(&impl->outgoing);
|
491
|
-
|
492
|
+
gpr_free(self);
|
492
493
|
}
|
493
494
|
|
494
495
|
static const tsi_handshaker_vtable handshaker_vtable = {
|
495
496
|
fake_handshaker_get_bytes_to_send_to_peer,
|
496
|
-
fake_handshaker_process_bytes_from_peer,
|
497
|
-
|
497
|
+
fake_handshaker_process_bytes_from_peer,
|
498
|
+
fake_handshaker_get_result,
|
499
|
+
fake_handshaker_extract_peer,
|
500
|
+
fake_handshaker_create_frame_protector,
|
498
501
|
fake_handshaker_destroy,
|
499
502
|
};
|
500
503
|
|
501
504
|
tsi_handshaker *tsi_create_fake_handshaker(int is_client) {
|
502
|
-
tsi_fake_handshaker *impl =
|
505
|
+
tsi_fake_handshaker *impl = gpr_malloc(sizeof(*impl));
|
506
|
+
memset(impl, 0, sizeof(*impl));
|
503
507
|
impl->base.vtable = &handshaker_vtable;
|
504
508
|
impl->is_client = is_client;
|
505
509
|
impl->result = TSI_HANDSHAKE_IN_PROGRESS;
|
@@ -515,8 +519,8 @@ tsi_handshaker *tsi_create_fake_handshaker(int is_client) {
|
|
515
519
|
|
516
520
|
tsi_frame_protector *tsi_create_fake_protector(
|
517
521
|
size_t *max_protected_frame_size) {
|
518
|
-
tsi_fake_frame_protector *impl =
|
519
|
-
|
522
|
+
tsi_fake_frame_protector *impl = gpr_malloc(sizeof(*impl));
|
523
|
+
memset(impl, 0, sizeof(*impl));
|
520
524
|
impl->max_frame_size = (max_protected_frame_size == NULL)
|
521
525
|
? TSI_FAKE_DEFAULT_FRAME_SIZE
|
522
526
|
: *max_protected_frame_size;
|