grpc 1.28.0.pre2 → 1.31.0.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 +8313 -11862
- data/include/grpc/grpc.h +2 -2
- data/include/grpc/grpc_security.h +30 -9
- data/include/grpc/grpc_security_constants.h +4 -0
- data/include/grpc/impl/codegen/grpc_types.h +23 -23
- data/include/grpc/impl/codegen/port_platform.h +6 -34
- data/include/grpc/module.modulemap +24 -39
- data/src/core/ext/filters/client_channel/backend_metric.cc +18 -12
- data/src/core/ext/filters/client_channel/client_channel.cc +618 -482
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +3 -2
- data/src/core/ext/filters/client_channel/config_selector.cc +62 -0
- data/src/core/ext/filters/client_channel/config_selector.h +93 -0
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -2
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +9 -22
- data/src/core/ext/filters/client_channel/health/health_check_client.h +3 -3
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +6 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +23 -14
- data/src/core/ext/filters/client_channel/lb_policy.cc +19 -18
- data/src/core/ext/filters/client_channel/lb_policy.h +44 -33
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +83 -0
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +99 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +297 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +83 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +311 -497
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +89 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +40 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +11 -9
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +3 -2
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +871 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -17
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +734 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +117 -41
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +938 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +528 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +1142 -0
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +10 -7
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +2 -1
- data/src/core/ext/filters/client_channel/parse_address.cc +22 -21
- data/src/core/ext/filters/client_channel/resolver.cc +5 -8
- data/src/core/ext/filters/client_channel/resolver.h +12 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +78 -61
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +41 -40
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +8 -7
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +22 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +12 -10
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +79 -122
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +199 -163
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +7 -4
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +46 -45
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +93 -102
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +0 -4
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +64 -12
- data/src/core/ext/filters/client_channel/resolver_factory.h +2 -2
- data/src/core/ext/filters/client_channel/resolver_registry.cc +19 -17
- data/src/core/ext/filters/client_channel/resolver_registry.h +8 -8
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +21 -22
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +19 -16
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +73 -217
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +45 -27
- data/src/core/ext/filters/client_channel/server_address.cc +6 -9
- data/src/core/ext/filters/client_channel/server_address.h +6 -12
- data/src/core/ext/filters/client_channel/service_config.cc +104 -144
- data/src/core/ext/filters/client_channel/service_config.h +28 -98
- data/src/core/ext/filters/client_channel/service_config_call_data.h +68 -0
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +142 -0
- data/src/core/ext/filters/client_channel/service_config_parser.cc +87 -0
- data/src/core/ext/filters/client_channel/service_config_parser.h +89 -0
- data/src/core/ext/filters/client_channel/subchannel.cc +55 -25
- data/src/core/ext/filters/client_channel/subchannel.h +35 -11
- data/src/core/ext/filters/client_channel/xds/xds_api.cc +1200 -246
- data/src/core/ext/filters/client_channel/xds/xds_api.h +130 -44
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.cc +90 -29
- data/src/core/ext/filters/client_channel/xds/xds_bootstrap.h +9 -4
- data/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc +4 -2
- data/src/core/ext/filters/client_channel/xds/xds_client.cc +839 -431
- data/src/core/ext/filters/client_channel/xds/xds_client.h +84 -33
- data/src/core/ext/filters/client_channel/xds/xds_client_stats.cc +11 -12
- data/src/core/ext/filters/client_channel/xds/xds_client_stats.h +40 -28
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -33
- data/src/core/ext/filters/http/client_authority_filter.cc +4 -4
- data/src/core/ext/filters/http/http_filters_plugin.cc +28 -12
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +258 -221
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +399 -0
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +31 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +61 -88
- data/src/core/ext/filters/message_size/message_size_filter.h +10 -4
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +386 -350
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +6 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +1 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -13
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +42 -26
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +25 -30
- data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -16
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +9 -12
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -13
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +9 -12
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +29 -16
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -29
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +13 -17
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +4 -5
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +2 -3
- data/src/core/ext/transport/chttp2/transport/internal.h +27 -21
- data/src/core/ext/transport/chttp2/transport/parsing.cc +33 -43
- data/src/core/ext/transport/chttp2/transport/stream_map.h +2 -3
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -22
- data/src/core/ext/transport/inproc/inproc_transport.cc +54 -15
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +3 -4
- data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +4 -229
- data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +5 -876
- data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +114 -0
- data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +429 -0
- data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +72 -0
- data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +198 -0
- data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +105 -0
- data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +388 -0
- data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +23 -10
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +352 -310
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +42 -34
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +7 -7
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +79 -61
- data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +2 -1
- data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +55 -49
- data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +79 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +48 -27
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +258 -214
- data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +51 -45
- data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +71 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +2 -1
- data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +107 -100
- data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +24 -20
- data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +157 -122
- data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +9 -9
- data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +38 -18
- data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +173 -73
- data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +88 -0
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +2 -1
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +95 -101
- data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +2 -1
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +49 -65
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +9 -6
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +53 -38
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +70 -62
- data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +15 -10
- data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +95 -63
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +91 -80
- data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +9 -10
- data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +36 -31
- data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +68 -46
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +770 -722
- data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +16 -15
- data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +2 -1
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +95 -88
- data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +48 -28
- data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +305 -210
- data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +5 -5
- data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +51 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +125 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +1 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +4 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +22 -16
- data/src/core/ext/upb-generated/envoy/type/http.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/http.upb.h +0 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +16 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +48 -11
- data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +14 -14
- data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +23 -23
- data/src/core/ext/upb-generated/envoy/type/percent.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/percent.upb.h +8 -9
- data/src/core/ext/upb-generated/envoy/type/range.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/range.upb.h +15 -16
- data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +7 -8
- data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +36 -35
- data/src/core/ext/upb-generated/gogoproto/gogo.upb.h +0 -1
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -1
- data/src/core/ext/upb-generated/google/api/http.upb.h +29 -28
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +12 -11
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +421 -389
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +1 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +33 -54
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +5 -6
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -28
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +8 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +1 -1
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +32 -45
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +4 -4
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +157 -178
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +14 -13
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -7
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +59 -56
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +11 -12
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -1
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +28 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +64 -0
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +6 -6
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +41 -68
- data/src/core/ext/upb-generated/validate/validate.upb.c +21 -20
- data/src/core/ext/upb-generated/validate/validate.upb.h +569 -562
- data/src/core/lib/channel/channel_args.cc +15 -14
- data/src/core/lib/channel/channel_args.h +3 -1
- data/src/core/lib/channel/channel_stack.h +20 -13
- data/src/core/lib/channel/channel_trace.cc +2 -6
- data/src/core/lib/channel/channelz.cc +10 -21
- data/src/core/lib/channel/channelz.h +3 -2
- data/src/core/lib/channel/channelz_registry.cc +5 -3
- data/src/core/lib/channel/connected_channel.cc +7 -5
- data/src/core/lib/channel/context.h +1 -1
- data/src/core/lib/channel/handshaker.cc +11 -13
- data/src/core/lib/channel/handshaker.h +4 -2
- data/src/core/lib/channel/handshaker_registry.cc +5 -17
- data/src/core/lib/channel/status_util.cc +2 -3
- data/src/core/lib/compression/message_compress.cc +5 -1
- data/src/core/lib/debug/stats.cc +21 -27
- data/src/core/lib/debug/stats.h +3 -1
- data/src/core/lib/gpr/log_linux.cc +6 -8
- data/src/core/lib/gpr/log_posix.cc +6 -8
- data/src/core/lib/gpr/spinlock.h +2 -3
- data/src/core/lib/gpr/string.cc +10 -33
- data/src/core/lib/gpr/string.h +4 -18
- data/src/core/lib/gpr/sync_abseil.cc +2 -0
- data/src/core/lib/gpr/time.cc +4 -0
- data/src/core/lib/gpr/time_posix.cc +1 -1
- data/src/core/lib/gprpp/atomic.h +6 -6
- data/src/core/lib/gprpp/fork.cc +1 -1
- data/src/core/lib/gprpp/global_config_env.cc +8 -6
- data/src/core/lib/gprpp/host_port.cc +29 -35
- data/src/core/lib/gprpp/host_port.h +14 -17
- data/src/core/lib/gprpp/map.h +5 -11
- data/src/core/lib/gprpp/ref_counted_ptr.h +5 -0
- data/src/core/lib/gprpp/sync.h +9 -0
- data/src/core/lib/http/format_request.cc +46 -65
- data/src/core/lib/http/httpcli.cc +15 -13
- data/src/core/lib/http/httpcli.h +2 -3
- data/src/core/lib/http/httpcli_security_connector.cc +10 -10
- data/src/core/lib/http/parser.h +2 -3
- data/src/core/lib/iomgr/buffer_list.h +22 -21
- data/src/core/lib/iomgr/call_combiner.h +3 -2
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -2
- data/src/core/lib/iomgr/closure.h +2 -3
- data/src/core/lib/iomgr/dualstack_socket_posix.cc +47 -0
- data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -3
- data/src/core/lib/iomgr/endpoint_pair.h +2 -3
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +10 -10
- data/src/core/lib/iomgr/error.cc +6 -9
- data/src/core/lib/iomgr/error.h +0 -1
- data/src/core/lib/iomgr/error_cfstream.cc +9 -8
- data/src/core/lib/iomgr/ev_apple.cc +356 -0
- data/src/core/lib/iomgr/ev_apple.h +43 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +25 -29
- data/src/core/lib/iomgr/ev_epollex_linux.cc +17 -24
- data/src/core/lib/iomgr/ev_poll_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.cc +4 -3
- data/src/core/lib/iomgr/exec_ctx.h +14 -2
- data/src/core/lib/iomgr/iomgr.cc +10 -0
- data/src/core/lib/iomgr/iomgr.h +10 -0
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +84 -20
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +14 -0
- data/src/core/lib/iomgr/pollset_set_custom.cc +10 -10
- data/src/core/lib/{gprpp/optional.h → iomgr/pollset_uv.h} +11 -12
- data/src/core/lib/iomgr/port.h +2 -21
- data/src/core/lib/iomgr/python_util.h +46 -0
- data/src/core/lib/iomgr/resolve_address.h +4 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +42 -57
- data/src/core/lib/iomgr/resolve_address_custom.h +4 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -11
- data/src/core/lib/iomgr/resolve_address_windows.cc +16 -25
- data/src/core/lib/iomgr/resource_quota.cc +38 -37
- data/src/core/lib/iomgr/sockaddr_utils.cc +29 -33
- data/src/core/lib/iomgr/sockaddr_utils.h +10 -15
- data/src/core/lib/iomgr/socket_factory_posix.h +2 -3
- data/src/core/lib/iomgr/socket_mutator.h +2 -3
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +102 -81
- data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
- data/src/core/lib/iomgr/socket_windows.cc +4 -5
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -18
- data/src/core/lib/iomgr/tcp_client_custom.cc +6 -9
- data/src/core/lib/iomgr/tcp_client_posix.cc +30 -36
- data/src/core/lib/iomgr/tcp_client_windows.cc +10 -11
- data/src/core/lib/iomgr/tcp_custom.cc +3 -4
- data/src/core/lib/iomgr/tcp_custom.h +1 -1
- data/src/core/lib/iomgr/tcp_server.cc +3 -4
- data/src/core/lib/iomgr/tcp_server.h +7 -5
- data/src/core/lib/iomgr/tcp_server_custom.cc +11 -23
- data/src/core/lib/iomgr/tcp_server_posix.cc +38 -44
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -8
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +10 -18
- data/src/core/lib/iomgr/tcp_server_windows.cc +16 -16
- data/src/core/lib/iomgr/tcp_uv.cc +3 -2
- data/src/core/lib/iomgr/time_averaged_stats.h +2 -3
- data/src/core/lib/iomgr/timer_generic.cc +15 -15
- data/src/core/lib/{gprpp/inlined_vector.h → iomgr/timer_generic.h} +19 -17
- data/src/core/lib/iomgr/timer_heap.h +2 -3
- data/src/core/lib/iomgr/udp_server.cc +32 -36
- data/src/core/lib/iomgr/udp_server.h +5 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +9 -14
- data/src/core/lib/iomgr/unix_sockets_posix.h +3 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +5 -2
- data/src/core/lib/json/json.h +3 -2
- data/src/core/lib/json/json_reader.cc +25 -26
- data/src/core/lib/json/json_writer.cc +13 -12
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +12 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.h +6 -3
- data/src/core/lib/security/credentials/credentials.cc +0 -84
- data/src/core/lib/security/credentials/credentials.h +13 -62
- data/src/core/lib/security/credentials/fake/fake_credentials.h +4 -0
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +8 -6
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +15 -17
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +8 -6
- data/src/core/lib/security/credentials/iam/iam_credentials.h +4 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -4
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +12 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +8 -15
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +73 -54
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +9 -3
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +19 -6
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +20 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +10 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +23 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +48 -11
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +21 -6
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +17 -17
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +3 -2
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/security_connector.cc +2 -0
- data/src/core/lib/security/security_connector/security_connector.h +2 -2
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +38 -36
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +8 -5
- data/src/core/lib/security/security_connector/ssl_utils.cc +89 -21
- data/src/core/lib/security/security_connector/ssl_utils.h +18 -12
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +101 -72
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +27 -5
- data/src/core/lib/security/transport/auth_filters.h +0 -5
- data/src/core/lib/security/transport/client_auth_filter.cc +11 -11
- data/src/core/lib/security/util/json_util.cc +12 -13
- data/src/core/lib/slice/slice.cc +38 -1
- data/src/core/lib/slice/slice_intern.cc +2 -3
- data/src/core/lib/slice/slice_internal.h +15 -0
- data/src/core/lib/slice/slice_utils.h +9 -0
- data/src/core/lib/surface/byte_buffer_reader.cc +2 -47
- data/src/core/lib/surface/call.cc +42 -44
- data/src/core/lib/surface/call_log_batch.cc +50 -58
- data/src/core/lib/surface/channel.cc +53 -31
- data/src/core/lib/surface/channel.h +35 -4
- data/src/core/lib/surface/channel_ping.cc +2 -3
- data/src/core/lib/surface/completion_queue.cc +304 -47
- data/src/core/lib/surface/completion_queue.h +8 -0
- data/src/core/lib/surface/event_string.cc +18 -25
- data/src/core/lib/surface/event_string.h +3 -1
- data/src/core/lib/surface/init.cc +2 -0
- data/src/core/lib/surface/init_secure.cc +1 -4
- data/src/core/lib/surface/server.cc +971 -837
- data/src/core/lib/surface/server.h +66 -12
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/byte_stream.h +7 -2
- data/src/core/lib/transport/connectivity_state.cc +7 -6
- data/src/core/lib/transport/connectivity_state.h +5 -3
- data/src/core/lib/transport/metadata.cc +3 -3
- data/src/core/lib/transport/metadata_batch.h +2 -3
- data/src/core/lib/transport/static_metadata.h +1 -1
- data/src/core/lib/transport/status_conversion.cc +6 -14
- data/src/core/lib/transport/transport.cc +2 -3
- data/src/core/lib/transport/transport.h +9 -2
- data/src/core/lib/transport/transport_op_string.cc +61 -102
- data/src/core/lib/uri/uri_parser.cc +8 -15
- data/src/core/lib/uri/uri_parser.h +2 -3
- data/src/core/plugin_registry/grpc_plugin_registry.cc +24 -4
- data/src/core/tsi/alts/crypt/aes_gcm.cc +0 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +31 -14
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +8 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +34 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +9 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +2 -3
- data/src/core/tsi/fake_transport_security.cc +10 -15
- data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +0 -2
- data/src/core/tsi/ssl_transport_security.cc +154 -50
- data/src/core/tsi/ssl_transport_security.h +22 -10
- data/src/core/tsi/ssl_types.h +0 -2
- data/src/core/tsi/transport_security.h +6 -9
- data/src/core/tsi/transport_security_grpc.h +2 -3
- data/src/core/tsi/transport_security_interface.h +8 -3
- data/src/ruby/ext/grpc/extconf.rb +5 -2
- data/src/ruby/ext/grpc/rb_call.c +12 -3
- data/src/ruby/ext/grpc/rb_call.h +4 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +57 -12
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -0
- data/src/ruby/lib/grpc/errors.rb +103 -42
- data/src/ruby/lib/grpc/generic/active_call.rb +2 -3
- data/src/ruby/lib/grpc/generic/interceptors.rb +5 -5
- data/src/ruby/lib/grpc/generic/rpc_server.rb +9 -10
- data/src/ruby/lib/grpc/generic/service.rb +5 -4
- data/src/ruby/lib/grpc/structs.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +5 -3
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +11 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +16 -0
- data/src/ruby/spec/debug_message_spec.rb +134 -0
- data/src/ruby/spec/generic/service_spec.rb +2 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +7 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +7 -1
- data/src/ruby/spec/support/services.rb +10 -4
- data/src/ruby/spec/testdata/ca.pem +18 -13
- data/src/ruby/spec/testdata/client.key +26 -14
- data/src/ruby/spec/testdata/client.pem +18 -12
- data/src/ruby/spec/testdata/server1.key +26 -14
- data/src/ruby/spec/testdata/server1.pem +20 -14
- data/third_party/abseil-cpp/absl/time/civil_time.cc +175 -0
- data/third_party/abseil-cpp/absl/time/civil_time.h +538 -0
- data/third_party/abseil-cpp/absl/time/clock.cc +569 -0
- data/third_party/abseil-cpp/absl/time/clock.h +74 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +922 -0
- data/third_party/abseil-cpp/absl/time/format.cc +153 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +622 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +384 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +922 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +76 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +121 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +958 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +138 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +308 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +187 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +115 -0
- data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
- data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
- data/third_party/abseil-cpp/absl/time/time.cc +499 -0
- data/third_party/abseil-cpp/absl/time/time.h +1584 -0
- data/third_party/boringssl-with-bazel/err_data.c +335 -297
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +7 -5
- data/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c +13 -4
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +11 -0
- data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/curve25519.c +18 -26
- data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/curve25519_tables.h +13 -21
- data/third_party/boringssl-with-bazel/src/{third_party/fiat → crypto/curve25519}/internal.h +14 -22
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/dh/dh.c +15 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +385 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +33 -32
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +143 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +17 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +30 -154
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +289 -117
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +13 -27
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +96 -55
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +25 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +434 -161
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +63 -71
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +18 -25
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +9481 -9485
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +104 -122
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +740 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +297 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +90 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +125 -148
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +189 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +61 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +20 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +137 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +49 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +64 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +41 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +32 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +24 -114
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +51 -38
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +15 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +44 -35
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +47 -16
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +15 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -5
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +6 -10
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +249 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +1227 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +682 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -67
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +13 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +10 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +57 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +33 -9
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +25 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +35 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -154
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +28 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +74 -35
- data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +16 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +22 -22
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +6 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +9 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +20 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +16 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +69 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +5 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +3 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +31 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +26 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +191 -79
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +282 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +791 -715
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +1 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +0 -4
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +3 -3
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -4
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +146 -57
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +23 -5
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +30 -22
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +21 -4
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +74 -54
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +10 -10
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +21 -21
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +29 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +34 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +13 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +44 -5
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +6 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +5 -5
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +51 -26
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +47 -53
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +129 -48
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +23 -75
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +55 -22
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +63 -25
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +245 -175
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +135 -75
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1593 -1672
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +512 -503
- data/third_party/upb/upb/decode.c +467 -504
- data/third_party/upb/upb/encode.c +163 -121
- data/third_party/upb/upb/msg.c +130 -64
- data/third_party/upb/upb/msg.h +418 -14
- data/third_party/upb/upb/port_def.inc +35 -6
- data/third_party/upb/upb/port_undef.inc +8 -1
- data/third_party/upb/upb/table.c +53 -75
- data/third_party/upb/upb/table.int.h +11 -43
- data/third_party/upb/upb/upb.c +148 -124
- data/third_party/upb/upb/upb.h +65 -147
- data/third_party/upb/upb/upb.hpp +86 -0
- metadata +122 -41
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.cc +0 -1908
- data/src/core/lib/gprpp/string_view.h +0 -60
- data/src/core/tsi/grpc_shadow_boringssl.h +0 -3311
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256.c +0 -1063
- data/third_party/upb/upb/generated_util.h +0 -105
data/include/grpc/grpc.h
CHANGED
@@ -225,8 +225,8 @@ GRPCAPI void grpc_channel_ping(grpc_channel* channel, grpc_completion_queue* cq,
|
|
225
225
|
void* tag, void* reserved);
|
226
226
|
|
227
227
|
/** Pre-register a method/host pair on a channel.
|
228
|
-
method and host are not owned and must remain alive while the
|
229
|
-
|
228
|
+
method and host are not owned and must remain alive while the channel is
|
229
|
+
alive. */
|
230
230
|
GRPCAPI void* grpc_channel_register_call(grpc_channel* channel,
|
231
231
|
const char* method, const char* host,
|
232
232
|
void* reserved);
|
@@ -390,6 +390,14 @@ typedef struct {
|
|
390
390
|
void* reserved;
|
391
391
|
} grpc_auth_metadata_context;
|
392
392
|
|
393
|
+
/** Performs a deep copy from \a from to \a to. **/
|
394
|
+
GRPCAPI void grpc_auth_metadata_context_copy(grpc_auth_metadata_context* from,
|
395
|
+
grpc_auth_metadata_context* to);
|
396
|
+
|
397
|
+
/** Releases internal resources held by \a context. **/
|
398
|
+
GRPCAPI void grpc_auth_metadata_context_reset(
|
399
|
+
grpc_auth_metadata_context* context);
|
400
|
+
|
393
401
|
/** Maximum number of metadata entries returnable by a credentials plugin via
|
394
402
|
a synchronous return. */
|
395
403
|
#define GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX 4
|
@@ -425,6 +433,10 @@ typedef struct {
|
|
425
433
|
size_t* num_creds_md, grpc_status_code* status,
|
426
434
|
const char** error_details);
|
427
435
|
|
436
|
+
/** Implements debug string of the given plugin. This method returns an
|
437
|
+
* allocated string that the caller needs to free using gpr_free() */
|
438
|
+
char* (*debug_string)(void* state);
|
439
|
+
|
428
440
|
/** Destroys the plugin state. */
|
429
441
|
void (*destroy)(void* state);
|
430
442
|
|
@@ -710,6 +722,10 @@ GRPCAPI grpc_server_credentials* grpc_local_server_credentials_create(
|
|
710
722
|
/** --- TLS channel/server credentials ---
|
711
723
|
* It is used for experimental purpose for now and subject to change. */
|
712
724
|
|
725
|
+
/** Struct for indicating errors. It is used for
|
726
|
+
* experimental purpose for now and subject to change. */
|
727
|
+
typedef struct grpc_tls_error_details grpc_tls_error_details;
|
728
|
+
|
713
729
|
/** Config for TLS key materials. It is used for
|
714
730
|
* experimental purpose for now and subject to change. */
|
715
731
|
typedef struct grpc_tls_key_materials_config grpc_tls_key_materials_config;
|
@@ -789,11 +805,13 @@ GRPCAPI grpc_tls_key_materials_config* grpc_tls_key_materials_config_create(
|
|
789
805
|
void);
|
790
806
|
|
791
807
|
/** Set grpc_tls_key_materials_config instance with provided a TLS certificate.
|
792
|
-
config will take the ownership of pem_root_certs and pem_key_cert_pairs.
|
793
808
|
It's valid for the caller to provide nullptr pem_root_certs, in which case
|
794
809
|
the gRPC-provided root cert will be used. pem_key_cert_pairs should not be
|
795
|
-
NULL.
|
796
|
-
|
810
|
+
NULL.
|
811
|
+
The ownerships of |pem_root_certs| and |pem_key_cert_pairs| remain with the
|
812
|
+
caller.
|
813
|
+
It returns 1 on success and 0 on failure. It is used for experimental
|
814
|
+
purpose for now and subject to change.
|
797
815
|
*/
|
798
816
|
GRPCAPI int grpc_tls_key_materials_config_set_key_materials(
|
799
817
|
grpc_tls_key_materials_config* config, const char* pem_root_certs,
|
@@ -832,8 +850,10 @@ typedef void (*grpc_tls_on_credential_reload_done_cb)(
|
|
832
850
|
- cb and cb_user_data represent a gRPC-provided
|
833
851
|
callback and an argument passed to it.
|
834
852
|
- key_materials_config is an in/output parameter containing currently
|
835
|
-
used/newly reloaded credentials. If credential reload does not result
|
836
|
-
|
853
|
+
used/newly reloaded credentials. If credential reload does not result in
|
854
|
+
a new credential, key_materials_config should not be modified. The same
|
855
|
+
key_materials_config object can be updated if new key materials is
|
856
|
+
available.
|
837
857
|
- status and error_details are used to hold information about
|
838
858
|
errors occurred when a credential reload request is scheduled/cancelled.
|
839
859
|
- config is a pointer to the unique grpc_tls_credential_reload_config
|
@@ -849,7 +869,7 @@ struct grpc_tls_credential_reload_arg {
|
|
849
869
|
void* cb_user_data;
|
850
870
|
grpc_tls_key_materials_config* key_materials_config;
|
851
871
|
grpc_ssl_certificate_config_reload_status status;
|
852
|
-
|
872
|
+
grpc_tls_error_details* error_details;
|
853
873
|
grpc_tls_credential_reload_config* config;
|
854
874
|
void* context;
|
855
875
|
void (*destroy_context)(void* ctx);
|
@@ -861,8 +881,9 @@ struct grpc_tls_credential_reload_arg {
|
|
861
881
|
- schedule is a pointer to an application-provided callback used to invoke
|
862
882
|
credential reload API. The implementation of this method has to be
|
863
883
|
non-blocking, but can be performed synchronously or asynchronously.
|
864
|
-
1) If processing occurs synchronously, it populates
|
865
|
-
arg->status, and arg->error_details
|
884
|
+
1) If processing occurs synchronously, it populates
|
885
|
+
arg->key_materials_config, arg->status, and arg->error_details
|
886
|
+
and returns zero.
|
866
887
|
2) If processing occurs asynchronously, it returns a non-zero value.
|
867
888
|
The application then invokes arg->cb when processing is completed. Note
|
868
889
|
that arg->cb cannot be invoked before schedule API returns.
|
@@ -926,7 +947,7 @@ struct grpc_tls_server_authorization_check_arg {
|
|
926
947
|
const char* peer_cert;
|
927
948
|
const char* peer_cert_full_chain;
|
928
949
|
grpc_status_code status;
|
929
|
-
|
950
|
+
grpc_tls_error_details* error_details;
|
930
951
|
grpc_tls_server_authorization_check_config* config;
|
931
952
|
void* context;
|
932
953
|
void (*destroy_context)(void* ctx);
|
@@ -32,6 +32,7 @@ extern "C" {
|
|
32
32
|
#define GRPC_X509_PEM_CERT_CHAIN_PROPERTY_NAME "x509_pem_cert_chain"
|
33
33
|
#define GRPC_SSL_SESSION_REUSED_PROPERTY "ssl_session_reused"
|
34
34
|
#define GRPC_TRANSPORT_SECURITY_LEVEL_PROPERTY_NAME "security_level"
|
35
|
+
#define GRPC_PEER_SPIFFE_ID_PROPERTY_NAME "peer_spiffe_id"
|
35
36
|
|
36
37
|
/** Environment variable that points to the default SSL roots file. This file
|
37
38
|
must be a PEM encoded file with all the roots such as the one that can be
|
@@ -138,6 +139,9 @@ typedef enum {
|
|
138
139
|
*/
|
139
140
|
typedef enum { UDS = 0, LOCAL_TCP } grpc_local_connect_type;
|
140
141
|
|
142
|
+
/** The TLS versions that are supported by the SSL stack. **/
|
143
|
+
typedef enum { TLS1_2, TLS1_3 } grpc_tls_version;
|
144
|
+
|
141
145
|
#ifdef __cplusplus
|
142
146
|
}
|
143
147
|
#endif
|
@@ -174,6 +174,11 @@ typedef struct {
|
|
174
174
|
/** Enable/disable support for per-message compression. Defaults to 1, unless
|
175
175
|
GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0. */
|
176
176
|
#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION "grpc.per_message_compression"
|
177
|
+
/** Experimental Arg. Enable/disable support for per-message decompression.
|
178
|
+
Defaults to 1. If disabled, decompression will not be performed and the
|
179
|
+
application will see the compressed message in the byte buffer. */
|
180
|
+
#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \
|
181
|
+
"grpc.per_message_decompression"
|
177
182
|
/** Enable/disable support for deadline checking. Defaults to 1, unless
|
178
183
|
GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */
|
179
184
|
#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking"
|
@@ -198,18 +203,19 @@ typedef struct {
|
|
198
203
|
/** Should BDP probing be performed? */
|
199
204
|
#define GRPC_ARG_HTTP2_BDP_PROBE "grpc.http2.bdp_probe"
|
200
205
|
/** Minimum time between sending successive ping frames without receiving any
|
201
|
-
data frame, Int valued, milliseconds. */
|
206
|
+
data/header frame, Int valued, milliseconds. */
|
202
207
|
#define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS \
|
203
208
|
"grpc.http2.min_time_between_pings_ms"
|
204
209
|
/** Minimum allowed time between a server receiving successive ping frames
|
205
|
-
without sending any data frame. Int valued, milliseconds
|
210
|
+
without sending any data/header frame. Int valued, milliseconds
|
211
|
+
*/
|
206
212
|
#define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS \
|
207
213
|
"grpc.http2.min_ping_interval_without_data_ms"
|
208
214
|
/** Channel arg to override the http2 :scheme header */
|
209
215
|
#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
|
210
|
-
/** How many pings can we send before needing to send a
|
211
|
-
|
212
|
-
|
216
|
+
/** How many pings can we send before needing to send a
|
217
|
+
data/header frame? (0 indicates that an infinite number of
|
218
|
+
pings can be sent without sending a data frame or header frame) */
|
213
219
|
#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \
|
214
220
|
"grpc.http2.max_pings_without_data"
|
215
221
|
/** How many misbehaving pings the server can bear before sending goaway and
|
@@ -344,22 +350,11 @@ typedef struct {
|
|
344
350
|
balancer before using fallback backend addresses from the resolver.
|
345
351
|
If 0, enter fallback mode immediately. Default value is 10000. */
|
346
352
|
#define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms"
|
347
|
-
/* Timeout in milliseconds to wait for the
|
348
|
-
|
349
|
-
|
350
|
-
#define
|
351
|
-
|
352
|
-
from the received EDS update. If 0, delete the locality immediately. Default
|
353
|
-
value is 15 minutes. */
|
354
|
-
#define GRPC_ARG_LOCALITY_RETENTION_INTERVAL_MS \
|
355
|
-
"grpc.xds_locality_retention_interval_ms"
|
356
|
-
/* Timeout in milliseconds to wait for the localities of a specific priority to
|
357
|
-
complete their initial connection attempt before xDS fails over to the next
|
358
|
-
priority. Specifically, the connection attempt of a priority is considered
|
359
|
-
completed when any locality of that priority is ready or all the localities
|
360
|
-
of that priority fail to connect. If 0, failover happens immediately. Default
|
361
|
-
value is 10 seconds. */
|
362
|
-
#define GRPC_ARG_XDS_FAILOVER_TIMEOUT_MS "grpc.xds_failover_timeout_ms"
|
353
|
+
/* Timeout in milliseconds to wait for the child of a specific priority to
|
354
|
+
complete its initial connection attempt before the priority LB policy fails
|
355
|
+
over to the next priority. Default value is 10 seconds. */
|
356
|
+
#define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS \
|
357
|
+
"grpc.priority_failover_timeout_ms"
|
363
358
|
/* Timeout in milliseconds to wait for a resource to be returned from
|
364
359
|
* the xds server before assuming that it does not exist.
|
365
360
|
* The default is 15 seconds. */
|
@@ -392,6 +387,9 @@ typedef struct {
|
|
392
387
|
"grpc.disable_client_authority_filter"
|
393
388
|
/** If set to zero, disables use of http proxies. Enabled by default. */
|
394
389
|
#define GRPC_ARG_ENABLE_HTTP_PROXY "grpc.enable_http_proxy"
|
390
|
+
/** Channel arg to set http proxy per channel. If set, the channel arg
|
391
|
+
* value will be prefered over the envrionment variable settings. */
|
392
|
+
#define GRPC_ARG_HTTP_PROXY "grpc.http_proxy"
|
395
393
|
/** If set to non zero, surfaces the user agent string to the server. User
|
396
394
|
agent is surfaced by default. */
|
397
395
|
#define GRPC_ARG_SURFACE_USER_AGENT "grpc.surface_user_agent"
|
@@ -676,8 +674,10 @@ typedef struct grpc_op {
|
|
676
674
|
const char** error_string;
|
677
675
|
} recv_status_on_client;
|
678
676
|
struct grpc_op_recv_close_on_server {
|
679
|
-
/** out argument, set to 1 if the call failed
|
680
|
-
|
677
|
+
/** out argument, set to 1 if the call failed at the server for
|
678
|
+
a reason other than a non-OK status (cancel, deadline
|
679
|
+
exceeded, network failure, etc.), 0 otherwise (RPC processing ran to
|
680
|
+
completion and was able to provide any status from the server) */
|
681
681
|
int* cancelled;
|
682
682
|
} recv_close_on_server;
|
683
683
|
} data;
|
@@ -27,13 +27,6 @@
|
|
27
27
|
* - some syscalls to be made directly
|
28
28
|
*/
|
29
29
|
|
30
|
-
/*
|
31
|
-
* Defines GRPC_USE_ABSL to use Abseil Common Libraries (C++)
|
32
|
-
*/
|
33
|
-
#ifndef GRPC_USE_ABSL
|
34
|
-
#define GRPC_USE_ABSL 1
|
35
|
-
#endif
|
36
|
-
|
37
30
|
/*
|
38
31
|
* Defines GPR_ABSEIL_SYNC to use synchronization features from Abseil
|
39
32
|
*/
|
@@ -53,6 +46,8 @@
|
|
53
46
|
#define NOMINMAX
|
54
47
|
#endif /* NOMINMAX */
|
55
48
|
|
49
|
+
#include <windows.h>
|
50
|
+
|
56
51
|
#ifndef _WIN32_WINNT
|
57
52
|
#error \
|
58
53
|
"Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)"
|
@@ -63,8 +58,6 @@
|
|
63
58
|
#endif /* _WIN32_WINNT < 0x0600 */
|
64
59
|
#endif /* defined(_WIN32_WINNT) */
|
65
60
|
|
66
|
-
#include <windows.h>
|
67
|
-
|
68
61
|
#ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
|
69
62
|
#undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
|
70
63
|
#undef WIN32_LEAN_AND_MEAN
|
@@ -112,31 +105,6 @@
|
|
112
105
|
#define GPR_WINDOWS_ATOMIC 1
|
113
106
|
#define GPR_MSVC_TLS 1
|
114
107
|
#endif
|
115
|
-
#elif defined(GPR_MANYLINUX1)
|
116
|
-
// TODO(atash): manylinux1 is just another __linux__ but with ancient
|
117
|
-
// libraries; it should be integrated with the `__linux__` definitions below.
|
118
|
-
#define GPR_PLATFORM_STRING "manylinux"
|
119
|
-
#define GPR_POSIX_CRASH_HANDLER 1
|
120
|
-
#define GPR_CPU_POSIX 1
|
121
|
-
#define GPR_GCC_ATOMIC 1
|
122
|
-
#define GPR_GCC_TLS 1
|
123
|
-
#define GPR_LINUX 1
|
124
|
-
#define GPR_LINUX_LOG 1
|
125
|
-
#define GPR_SUPPORT_CHANNELS_FROM_FD 1
|
126
|
-
#define GPR_LINUX_ENV 1
|
127
|
-
#define GPR_POSIX_TMPFILE 1
|
128
|
-
#define GPR_POSIX_STRING 1
|
129
|
-
#define GPR_POSIX_SUBPROCESS 1
|
130
|
-
#define GPR_POSIX_SYNC 1
|
131
|
-
#define GPR_POSIX_TIME 1
|
132
|
-
#define GPR_HAS_PTHREAD_H 1
|
133
|
-
#define GPR_GETPID_IN_UNISTD_H 1
|
134
|
-
#ifdef _LP64
|
135
|
-
#define GPR_ARCH_64 1
|
136
|
-
#else /* _LP64 */
|
137
|
-
#define GPR_ARCH_32 1
|
138
|
-
#endif /* _LP64 */
|
139
|
-
#include <linux/version.h>
|
140
108
|
#elif defined(ANDROID) || defined(__ANDROID__)
|
141
109
|
#define GPR_PLATFORM_STRING "android"
|
142
110
|
#define GPR_ANDROID 1
|
@@ -666,18 +634,22 @@ typedef unsigned __int64 uint64_t;
|
|
666
634
|
#endif /* GPR_ATTRIBUTE_NO_TSAN (1) */
|
667
635
|
|
668
636
|
/* GRPC_TSAN_ENABLED will be defined, when compiled with thread sanitizer. */
|
637
|
+
#ifndef GRPC_TSAN_SUPPRESSED
|
669
638
|
#if defined(__SANITIZE_THREAD__)
|
670
639
|
#define GRPC_TSAN_ENABLED
|
671
640
|
#elif GPR_HAS_FEATURE(thread_sanitizer)
|
672
641
|
#define GRPC_TSAN_ENABLED
|
673
642
|
#endif
|
643
|
+
#endif
|
674
644
|
|
675
645
|
/* GRPC_ASAN_ENABLED will be defined, when compiled with address sanitizer. */
|
646
|
+
#ifndef GRPC_ASAN_SUPPRESSED
|
676
647
|
#if defined(__SANITIZE_ADDRESS__)
|
677
648
|
#define GRPC_ASAN_ENABLED
|
678
649
|
#elif GPR_HAS_FEATURE(address_sanitizer)
|
679
650
|
#define GRPC_ASAN_ENABLED
|
680
651
|
#endif
|
652
|
+
#endif
|
681
653
|
|
682
654
|
/* GRPC_ALLOW_EXCEPTIONS should be 0 or 1 if exceptions are allowed or not */
|
683
655
|
#ifndef GRPC_ALLOW_EXCEPTIONS
|
@@ -2,77 +2,62 @@
|
|
2
2
|
framework module grpc {
|
3
3
|
umbrella header "grpc.h"
|
4
4
|
|
5
|
-
header "support/alloc.h"
|
6
|
-
header "support/atm.h"
|
7
|
-
header "support/cpu.h"
|
8
|
-
header "support/log.h"
|
9
|
-
header "support/log_windows.h"
|
10
|
-
header "support/port_platform.h"
|
11
|
-
header "support/string_util.h"
|
12
|
-
header "support/sync.h"
|
13
|
-
header "support/sync_abseil.h"
|
14
|
-
header "support/sync_generic.h"
|
15
|
-
header "support/thd_id.h"
|
16
|
-
header "support/time.h"
|
17
5
|
header "impl/codegen/atm.h"
|
18
|
-
header "impl/codegen/fork.h"
|
19
|
-
header "impl/codegen/gpr_slice.h"
|
20
|
-
header "impl/codegen/gpr_types.h"
|
21
|
-
header "impl/codegen/log.h"
|
22
|
-
header "impl/codegen/port_platform.h"
|
23
|
-
header "impl/codegen/sync.h"
|
24
|
-
header "impl/codegen/sync_abseil.h"
|
25
|
-
header "impl/codegen/sync_generic.h"
|
26
6
|
header "impl/codegen/byte_buffer.h"
|
27
7
|
header "impl/codegen/byte_buffer_reader.h"
|
28
8
|
header "impl/codegen/compression_types.h"
|
29
9
|
header "impl/codegen/connectivity_state.h"
|
30
|
-
header "impl/codegen/grpc_types.h"
|
31
|
-
header "impl/codegen/propagation_bits.h"
|
32
|
-
header "impl/codegen/slice.h"
|
33
|
-
header "impl/codegen/status.h"
|
34
|
-
header "impl/codegen/atm.h"
|
35
10
|
header "impl/codegen/fork.h"
|
36
11
|
header "impl/codegen/gpr_slice.h"
|
37
12
|
header "impl/codegen/gpr_types.h"
|
13
|
+
header "impl/codegen/grpc_types.h"
|
38
14
|
header "impl/codegen/log.h"
|
39
15
|
header "impl/codegen/port_platform.h"
|
16
|
+
header "impl/codegen/propagation_bits.h"
|
17
|
+
header "impl/codegen/slice.h"
|
18
|
+
header "impl/codegen/status.h"
|
40
19
|
header "impl/codegen/sync.h"
|
41
20
|
header "impl/codegen/sync_abseil.h"
|
42
21
|
header "impl/codegen/sync_generic.h"
|
43
|
-
header "
|
22
|
+
header "support/alloc.h"
|
23
|
+
header "support/atm.h"
|
24
|
+
header "support/cpu.h"
|
25
|
+
header "support/log.h"
|
26
|
+
header "support/log_windows.h"
|
27
|
+
header "support/port_platform.h"
|
28
|
+
header "support/string_util.h"
|
29
|
+
header "support/sync.h"
|
30
|
+
header "support/sync_abseil.h"
|
31
|
+
header "support/sync_generic.h"
|
32
|
+
header "support/thd_id.h"
|
33
|
+
header "support/time.h"
|
44
34
|
header "byte_buffer.h"
|
45
35
|
header "byte_buffer_reader.h"
|
36
|
+
header "census.h"
|
46
37
|
header "compression.h"
|
47
38
|
header "fork.h"
|
48
39
|
header "grpc.h"
|
49
40
|
header "grpc_posix.h"
|
41
|
+
header "grpc_security.h"
|
50
42
|
header "grpc_security_constants.h"
|
51
43
|
header "load_reporting.h"
|
52
44
|
header "slice.h"
|
53
45
|
header "slice_buffer.h"
|
54
46
|
header "status.h"
|
55
47
|
header "support/workaround_list.h"
|
56
|
-
header "census.h"
|
57
48
|
|
58
|
-
textual header "support/atm_gcc_atomic.h"
|
59
|
-
textual header "support/atm_gcc_sync.h"
|
60
|
-
textual header "support/atm_windows.h"
|
61
|
-
textual header "support/sync_custom.h"
|
62
|
-
textual header "support/sync_posix.h"
|
63
|
-
textual header "support/sync_windows.h"
|
64
|
-
textual header "impl/codegen/atm_gcc_atomic.h"
|
65
|
-
textual header "impl/codegen/atm_gcc_sync.h"
|
66
|
-
textual header "impl/codegen/atm_windows.h"
|
67
|
-
textual header "impl/codegen/sync_custom.h"
|
68
|
-
textual header "impl/codegen/sync_posix.h"
|
69
|
-
textual header "impl/codegen/sync_windows.h"
|
70
49
|
textual header "impl/codegen/atm_gcc_atomic.h"
|
71
50
|
textual header "impl/codegen/atm_gcc_sync.h"
|
72
51
|
textual header "impl/codegen/atm_windows.h"
|
73
52
|
textual header "impl/codegen/sync_custom.h"
|
74
53
|
textual header "impl/codegen/sync_posix.h"
|
75
54
|
textual header "impl/codegen/sync_windows.h"
|
55
|
+
textual header "support/atm_gcc_atomic.h"
|
56
|
+
textual header "support/atm_gcc_sync.h"
|
57
|
+
textual header "support/atm_windows.h"
|
58
|
+
textual header "support/sync_custom.h"
|
59
|
+
textual header "support/sync_posix.h"
|
60
|
+
textual header "support/sync_windows.h"
|
76
61
|
|
77
62
|
export *
|
78
63
|
module * { export * }
|
@@ -18,27 +18,33 @@
|
|
18
18
|
|
19
19
|
#include "src/core/ext/filters/client_channel/backend_metric.h"
|
20
20
|
|
21
|
-
#include "
|
21
|
+
#include "absl/strings/string_view.h"
|
22
|
+
|
22
23
|
#include "udpa/data/orca/v1/orca_load_report.upb.h"
|
24
|
+
#include "upb/upb.hpp"
|
25
|
+
|
26
|
+
#include "src/core/lib/gprpp/map.h"
|
23
27
|
|
24
28
|
namespace grpc_core {
|
25
29
|
|
26
30
|
namespace {
|
27
31
|
|
28
32
|
template <typename EntryType>
|
29
|
-
std::map<
|
33
|
+
std::map<absl::string_view, double, StringLess> ParseMap(
|
30
34
|
udpa_data_orca_v1_OrcaLoadReport* msg,
|
31
|
-
EntryType
|
35
|
+
const EntryType* (*entry_func)(const udpa_data_orca_v1_OrcaLoadReport*,
|
36
|
+
size_t*),
|
32
37
|
upb_strview (*key_func)(const EntryType*),
|
33
38
|
double (*value_func)(const EntryType*), Arena* arena) {
|
34
|
-
std::map<
|
35
|
-
size_t
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
39
|
+
std::map<absl::string_view, double, StringLess> result;
|
40
|
+
size_t i = UPB_MAP_BEGIN;
|
41
|
+
while (true) {
|
42
|
+
const auto* entry = entry_func(msg, &i);
|
43
|
+
if (entry == nullptr) break;
|
44
|
+
upb_strview key_view = key_func(entry);
|
45
|
+
char* key = static_cast<char*>(arena->Alloc(key_view.size));
|
40
46
|
memcpy(key, key_view.data, key_view.size);
|
41
|
-
result[
|
47
|
+
result[absl::string_view(key, key_view.size)] = value_func(entry);
|
42
48
|
}
|
43
49
|
return result;
|
44
50
|
}
|
@@ -64,12 +70,12 @@ const LoadBalancingPolicy::BackendMetricData* ParseBackendMetricData(
|
|
64
70
|
udpa_data_orca_v1_OrcaLoadReport_rps(msg);
|
65
71
|
backend_metric_data->request_cost =
|
66
72
|
ParseMap<udpa_data_orca_v1_OrcaLoadReport_RequestCostEntry>(
|
67
|
-
msg,
|
73
|
+
msg, udpa_data_orca_v1_OrcaLoadReport_request_cost_next,
|
68
74
|
udpa_data_orca_v1_OrcaLoadReport_RequestCostEntry_key,
|
69
75
|
udpa_data_orca_v1_OrcaLoadReport_RequestCostEntry_value, arena);
|
70
76
|
backend_metric_data->utilization =
|
71
77
|
ParseMap<udpa_data_orca_v1_OrcaLoadReport_UtilizationEntry>(
|
72
|
-
msg,
|
78
|
+
msg, udpa_data_orca_v1_OrcaLoadReport_utilization_next,
|
73
79
|
udpa_data_orca_v1_OrcaLoadReport_UtilizationEntry_key,
|
74
80
|
udpa_data_orca_v1_OrcaLoadReport_UtilizationEntry_value, arena);
|
75
81
|
return backend_metric_data;
|