grpc 1.34.0 → 1.35.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 +808 -2787
- data/etc/roots.pem +257 -573
- data/include/grpc/compression.h +1 -1
- data/include/grpc/grpc.h +14 -0
- data/include/grpc/grpc_security.h +61 -3
- data/include/grpc/impl/codegen/atm_windows.h +4 -0
- data/include/grpc/impl/codegen/byte_buffer.h +1 -1
- data/include/grpc/impl/codegen/grpc_types.h +1 -1
- data/include/grpc/impl/codegen/log.h +0 -2
- data/include/grpc/impl/codegen/sync_windows.h +4 -0
- data/include/grpc/slice_buffer.h +3 -3
- data/include/grpc/support/sync.h +3 -3
- data/include/grpc/support/time.h +7 -7
- data/src/core/ext/filters/client_channel/backend_metric.cc +2 -4
- data/src/core/ext/filters/client_channel/client_channel.cc +2734 -1498
- data/src/core/ext/filters/client_channel/client_channel.h +0 -4
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +4 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +186 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -6
- data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -2
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +4 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +21 -20
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +32 -30
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +162 -20
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +24 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1262 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +7 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +454 -16
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +18 -31
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +3 -5
- data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
- data/src/core/ext/filters/client_channel/resolver_registry.cc +40 -39
- data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -13
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +8 -8
- data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
- data/src/core/ext/filters/client_channel/retry_throttle.h +3 -1
- data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
- data/src/core/ext/filters/client_channel/subchannel.cc +34 -50
- data/src/core/ext/filters/client_channel/subchannel.h +12 -18
- data/src/core/ext/filters/deadline/deadline_filter.cc +4 -2
- data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
- data/src/core/ext/filters/http/http_filters_plugin.cc +6 -3
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
- data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
- data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +20 -8
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +26 -14
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +178 -86
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/writing.cc +1 -1
- data/src/core/ext/transport/inproc/inproc_transport.cc +42 -8
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -27
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +139 -40
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +44 -17
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +111 -111
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +424 -241
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +13 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +22 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +47 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +21 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +88 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +15 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +44 -44
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +200 -78
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +17 -17
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +72 -35
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +27 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +30 -30
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +136 -49
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +39 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +157 -89
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +17 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +47 -47
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +163 -78
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +9 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +59 -36
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +61 -29
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +26 -26
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +101 -66
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +106 -54
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +81 -35
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +38 -22
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +203 -203
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +845 -495
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +26 -6
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +17 -3
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +87 -87
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -204
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +20 -20
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +85 -46
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +33 -11
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +118 -67
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +29 -29
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +120 -82
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -16
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -11
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +29 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +16 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +19 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +46 -3
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +41 -8
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +15 -2
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +7 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +34 -34
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +149 -72
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +34 -34
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +142 -59
- data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/http.upb.h +25 -6
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +90 -90
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +455 -292
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +22 -3
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +55 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +10 -3
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +4 -4
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -3
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +41 -41
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +149 -76
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -6
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +13 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +82 -25
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +19 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +9 -2
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +5 -5
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +21 -7
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +2 -2
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +17 -8
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +7 -7
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +31 -18
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +5 -5
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +19 -11
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +7 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +64 -64
- data/src/core/ext/upb-generated/validate/validate.upb.h +296 -157
- data/src/core/ext/xds/certificate_provider_store.cc +10 -7
- data/src/core/ext/xds/certificate_provider_store.h +12 -7
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +25 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -4
- data/src/core/ext/xds/xds_api.cc +220 -31
- data/src/core/ext/xds/xds_api.h +41 -10
- data/src/core/ext/xds/xds_bootstrap.h +0 -1
- data/src/core/ext/xds/xds_certificate_provider.cc +61 -2
- data/src/core/ext/xds/xds_certificate_provider.h +40 -2
- data/src/core/ext/xds/xds_client.cc +31 -29
- data/src/core/ext/xds/xds_client.h +6 -1
- data/src/core/ext/xds/xds_client_stats.cc +2 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +131 -0
- data/src/core/lib/channel/channel_args.cc +8 -8
- data/src/core/lib/channel/channel_trace.h +1 -1
- data/src/core/lib/channel/channelz.cc +13 -14
- data/src/core/lib/channel/channelz.h +0 -1
- data/src/core/lib/channel/channelz_registry.h +0 -1
- data/src/core/lib/channel/handshaker.cc +2 -2
- data/src/core/lib/compression/compression_args.cc +3 -2
- data/src/core/lib/debug/stats.h +2 -2
- data/src/core/lib/debug/stats_data.h +13 -13
- data/src/core/lib/gpr/alloc.cc +3 -2
- data/src/core/lib/gpr/log.cc +53 -16
- data/src/core/lib/gpr/log_linux.cc +3 -1
- data/src/core/lib/gpr/log_posix.cc +3 -1
- data/src/core/lib/gpr/log_windows.cc +3 -1
- data/src/core/lib/gpr/spinlock.h +10 -2
- data/src/core/lib/gpr/string.cc +22 -21
- data/src/core/lib/gpr/string.h +5 -6
- data/src/core/lib/gpr/sync.cc +4 -4
- data/src/core/lib/gpr/time.cc +12 -12
- data/src/core/lib/gprpp/arena.h +3 -2
- data/src/core/lib/gprpp/ref_counted.h +2 -2
- data/src/core/lib/gprpp/ref_counted_ptr.h +9 -1
- data/src/core/lib/gprpp/thd_posix.cc +6 -1
- data/src/core/lib/gprpp/thd_windows.cc +3 -1
- data/src/core/lib/http/httpcli.cc +1 -1
- data/src/core/lib/http/httpcli.h +2 -3
- data/src/core/lib/http/httpcli_security_connector.cc +1 -1
- data/src/core/lib/http/parser.cc +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +8 -5
- data/src/core/lib/iomgr/combiner.cc +2 -1
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/error.cc +15 -11
- data/src/core/lib/iomgr/error_internal.h +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -13
- data/src/core/lib/iomgr/ev_epollex_linux.cc +17 -13
- data/src/core/lib/iomgr/ev_poll_posix.cc +9 -7
- data/src/core/lib/iomgr/exec_ctx.h +6 -4
- data/src/core/lib/iomgr/executor.cc +2 -1
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/executor/threadpool.h +1 -1
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/load_file.h +1 -1
- data/src/core/lib/iomgr/lockfree_event.cc +19 -14
- data/src/core/lib/iomgr/lockfree_event.h +2 -2
- data/src/core/lib/iomgr/parse_address.cc +52 -46
- data/src/core/lib/iomgr/parse_address.h +13 -9
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
- data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +4 -4
- data/src/core/lib/iomgr/sockaddr_utils.cc +10 -10
- data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
- data/src/core/lib/iomgr/socket_mutator.cc +3 -2
- data/src/core/lib/iomgr/tcp_client.cc +3 -3
- data/src/core/lib/iomgr/tcp_client_custom.cc +7 -6
- data/src/core/lib/iomgr/tcp_custom.cc +22 -17
- data/src/core/lib/iomgr/tcp_posix.cc +9 -6
- data/src/core/lib/iomgr/tcp_server_custom.cc +28 -22
- data/src/core/lib/iomgr/timer_custom.cc +3 -3
- data/src/core/lib/iomgr/timer_generic.cc +3 -3
- data/src/core/lib/iomgr/timer_manager.cc +2 -2
- data/src/core/lib/iomgr/udp_server.cc +1 -2
- data/src/core/lib/iomgr/udp_server.h +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +17 -18
- data/src/core/lib/json/json.h +10 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +5 -10
- data/src/core/lib/security/authorization/evaluate_args.h +1 -1
- data/src/core/lib/security/context/security_context.cc +4 -3
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +15 -10
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +217 -31
- data/src/core/lib/security/credentials/external/external_account_credentials.h +7 -5
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +20 -18
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +5 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -1
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +18 -12
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +18 -5
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +3 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +37 -44
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +5 -5
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +1 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +1 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +326 -5
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +64 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
- data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +140 -10
- data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +46 -13
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +23 -6
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/security_connector.cc +3 -2
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +12 -19
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +57 -12
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -3
- data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
- data/src/core/lib/security/transport/security_handshaker.cc +2 -2
- data/src/core/lib/slice/slice_intern.cc +4 -5
- data/src/core/lib/slice/slice_internal.h +2 -2
- data/src/core/lib/surface/call.cc +32 -24
- data/src/core/lib/surface/call_details.cc +8 -8
- data/src/core/lib/surface/channel.cc +16 -10
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_init.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +23 -18
- data/src/core/lib/surface/completion_queue.h +16 -16
- data/src/core/lib/surface/init.cc +6 -5
- data/src/core/lib/surface/lame_client.cc +20 -46
- data/src/core/lib/surface/lame_client.h +4 -0
- data/src/core/lib/surface/server.cc +59 -15
- data/src/core/lib/surface/server.h +37 -5
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/authority_override.cc +6 -4
- data/src/core/lib/transport/authority_override.h +5 -2
- data/src/core/lib/transport/connectivity_state.h +6 -4
- data/src/core/lib/transport/error_utils.h +1 -1
- data/src/core/lib/transport/metadata_batch.h +4 -4
- data/src/core/lib/transport/static_metadata.cc +1 -1
- data/src/core/lib/transport/status_metadata.cc +4 -3
- data/src/core/lib/transport/transport.h +7 -7
- data/src/core/lib/uri/uri_parser.cc +131 -249
- data/src/core/lib/uri/uri_parser.h +57 -21
- data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -4
- data/src/core/tsi/alts/crypt/gsec.cc +5 -4
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -23
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
- data/src/core/tsi/fake_transport_security.cc +5 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
- data/src/core/tsi/ssl_transport_security.cc +62 -49
- data/src/core/tsi/ssl_transport_security.h +6 -6
- data/src/core/tsi/transport_security.cc +6 -6
- data/src/core/tsi/transport_security_interface.h +1 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +31 -13
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +28 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +18 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
- data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
- data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
- data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
- data/third_party/upb/upb/decode.c +248 -167
- data/third_party/upb/upb/decode.h +20 -1
- data/third_party/upb/upb/decode.int.h +163 -0
- data/third_party/upb/upb/decode_fast.c +1040 -0
- data/third_party/upb/upb/decode_fast.h +126 -0
- data/third_party/upb/upb/def.c +525 -516
- data/third_party/upb/upb/def.h +16 -31
- data/third_party/upb/upb/def.hpp +37 -123
- data/third_party/upb/upb/encode.c +227 -169
- data/third_party/upb/upb/encode.h +27 -2
- data/third_party/upb/upb/json_decode.c +1443 -0
- data/third_party/upb/upb/json_decode.h +23 -0
- data/third_party/upb/upb/json_encode.c +713 -0
- data/third_party/upb/upb/json_encode.h +36 -0
- data/third_party/upb/upb/msg.c +167 -88
- data/third_party/upb/upb/msg.h +174 -34
- data/third_party/upb/upb/port_def.inc +74 -61
- data/third_party/upb/upb/port_undef.inc +3 -7
- data/third_party/upb/upb/reflection.c +36 -19
- data/third_party/upb/upb/table.c +34 -197
- data/third_party/upb/upb/table.int.h +14 -5
- data/third_party/upb/upb/text_encode.c +45 -22
- data/third_party/upb/upb/text_encode.h +4 -1
- data/third_party/upb/upb/upb.c +18 -41
- data/third_party/upb/upb/upb.h +36 -7
- data/third_party/upb/upb/upb.hpp +4 -4
- data/third_party/upb/upb/upb.int.h +29 -0
- metadata +60 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -909
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -265
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -104
- data/src/core/lib/gprpp/map.h +0 -53
- data/third_party/upb/upb/port.c +0 -26
@@ -56,7 +56,7 @@ void grpc_sockaddr_make_wildcard6(int port, grpc_resolved_address* wild_out);
|
|
56
56
|
int grpc_sockaddr_get_port(const grpc_resolved_address* addr);
|
57
57
|
|
58
58
|
/* Set IP port number of a sockaddr */
|
59
|
-
int grpc_sockaddr_set_port(
|
59
|
+
int grpc_sockaddr_set_port(grpc_resolved_address* addr, int port);
|
60
60
|
|
61
61
|
// Converts a sockaddr into a newly-allocated human-readable string.
|
62
62
|
//
|
@@ -87,8 +87,9 @@ static const grpc_arg_pointer_vtable socket_factory_arg_vtable = {
|
|
87
87
|
socket_factory_arg_copy, socket_factory_arg_destroy, socket_factory_cmp};
|
88
88
|
|
89
89
|
grpc_arg grpc_socket_factory_to_arg(grpc_socket_factory* factory) {
|
90
|
-
return grpc_channel_arg_pointer_create(
|
91
|
-
|
90
|
+
return grpc_channel_arg_pointer_create(
|
91
|
+
const_cast<char*>(GRPC_ARG_SOCKET_FACTORY), factory,
|
92
|
+
&socket_factory_arg_vtable);
|
92
93
|
}
|
93
94
|
|
94
95
|
#endif
|
@@ -78,6 +78,7 @@ static const grpc_arg_pointer_vtable socket_mutator_arg_vtable = {
|
|
78
78
|
socket_mutator_arg_copy, socket_mutator_arg_destroy, socket_mutator_cmp};
|
79
79
|
|
80
80
|
grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator* mutator) {
|
81
|
-
return grpc_channel_arg_pointer_create(
|
82
|
-
|
81
|
+
return grpc_channel_arg_pointer_create(
|
82
|
+
const_cast<char*>(GRPC_ARG_SOCKET_MUTATOR), mutator,
|
83
|
+
&socket_mutator_arg_vtable);
|
83
84
|
}
|
@@ -22,13 +22,13 @@
|
|
22
22
|
|
23
23
|
grpc_tcp_client_vtable* grpc_tcp_client_impl;
|
24
24
|
|
25
|
-
void grpc_tcp_client_connect(grpc_closure*
|
25
|
+
void grpc_tcp_client_connect(grpc_closure* on_connect, grpc_endpoint** endpoint,
|
26
26
|
grpc_pollset_set* interested_parties,
|
27
27
|
const grpc_channel_args* channel_args,
|
28
28
|
const grpc_resolved_address* addr,
|
29
29
|
grpc_millis deadline) {
|
30
|
-
grpc_tcp_client_impl->connect(
|
31
|
-
addr, deadline);
|
30
|
+
grpc_tcp_client_impl->connect(on_connect, endpoint, interested_parties,
|
31
|
+
channel_args, addr, deadline);
|
32
32
|
}
|
33
33
|
|
34
34
|
void grpc_set_tcp_client_impl(grpc_tcp_client_vtable* impl) {
|
@@ -61,7 +61,7 @@ static void custom_close_callback(grpc_custom_socket* /*socket*/) {}
|
|
61
61
|
|
62
62
|
static void on_alarm(void* acp, grpc_error* error) {
|
63
63
|
int done;
|
64
|
-
grpc_custom_socket* socket = (
|
64
|
+
grpc_custom_socket* socket = static_cast<grpc_custom_socket*>(acp);
|
65
65
|
grpc_custom_tcp_connect* connect = socket->connector;
|
66
66
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
67
67
|
const char* str = grpc_error_string(error);
|
@@ -124,13 +124,14 @@ static void tcp_connect(grpc_closure* closure, grpc_endpoint** ep,
|
|
124
124
|
for (size_t i = 0; i < channel_args->num_args; i++) {
|
125
125
|
if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) {
|
126
126
|
grpc_resource_quota_unref_internal(resource_quota);
|
127
|
-
resource_quota =
|
128
|
-
(grpc_resource_quota
|
127
|
+
resource_quota =
|
128
|
+
grpc_resource_quota_ref_internal(static_cast<grpc_resource_quota*>(
|
129
|
+
channel_args->args[i].value.pointer.p));
|
129
130
|
}
|
130
131
|
}
|
131
132
|
}
|
132
133
|
grpc_custom_socket* socket =
|
133
|
-
(
|
134
|
+
static_cast<grpc_custom_socket*>(gpr_malloc(sizeof(grpc_custom_socket)));
|
134
135
|
socket->refs = 2;
|
135
136
|
grpc_custom_socket_vtable->init(socket, GRPC_AF_UNSPEC);
|
136
137
|
grpc_custom_tcp_connect* connect = new grpc_custom_tcp_connect();
|
@@ -153,8 +154,8 @@ static void tcp_connect(grpc_closure* closure, grpc_endpoint** ep,
|
|
153
154
|
grpc_schedule_on_exec_ctx);
|
154
155
|
grpc_timer_init(&connect->alarm, deadline, &connect->on_alarm);
|
155
156
|
grpc_custom_socket_vtable->connect(
|
156
|
-
socket,
|
157
|
-
custom_connect_callback);
|
157
|
+
socket, reinterpret_cast<const grpc_sockaddr*>(resolved_addr->addr),
|
158
|
+
resolved_addr->len, custom_connect_callback);
|
158
159
|
}
|
159
160
|
|
160
161
|
grpc_tcp_client_vtable custom_tcp_client_vtable = {tcp_connect};
|
@@ -73,7 +73,8 @@ struct custom_tcp_endpoint {
|
|
73
73
|
std::string local_address;
|
74
74
|
};
|
75
75
|
static void tcp_free(grpc_custom_socket* s) {
|
76
|
-
custom_tcp_endpoint* tcp =
|
76
|
+
custom_tcp_endpoint* tcp =
|
77
|
+
reinterpret_cast<custom_tcp_endpoint*>(s->endpoint);
|
77
78
|
grpc_resource_user_unref(tcp->resource_user);
|
78
79
|
delete tcp;
|
79
80
|
s->refs--;
|
@@ -149,18 +150,19 @@ static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
|
|
149
150
|
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
150
151
|
grpc_core::ExecCtx exec_ctx;
|
151
152
|
grpc_slice_buffer garbage;
|
152
|
-
custom_tcp_endpoint* tcp =
|
153
|
+
custom_tcp_endpoint* tcp =
|
154
|
+
reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
|
153
155
|
if (error == GRPC_ERROR_NONE && nread == 0) {
|
154
156
|
error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("EOF");
|
155
157
|
}
|
156
158
|
if (error == GRPC_ERROR_NONE) {
|
157
159
|
// Successful read
|
158
|
-
if (
|
160
|
+
if (nread < tcp->read_slices->length) {
|
159
161
|
/* TODO(murgatroid99): Instead of discarding the unused part of the read
|
160
162
|
* buffer, reuse it as the next read buffer. */
|
161
163
|
grpc_slice_buffer_init(&garbage);
|
162
|
-
grpc_slice_buffer_trim_end(
|
163
|
-
|
164
|
+
grpc_slice_buffer_trim_end(tcp->read_slices,
|
165
|
+
tcp->read_slices->length - nread, &garbage);
|
164
166
|
grpc_slice_buffer_reset_and_unref_internal(&garbage);
|
165
167
|
}
|
166
168
|
} else {
|
@@ -170,7 +172,7 @@ static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
|
|
170
172
|
}
|
171
173
|
|
172
174
|
static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
|
173
|
-
custom_tcp_endpoint* tcp = (
|
175
|
+
custom_tcp_endpoint* tcp = static_cast<custom_tcp_endpoint*>(tcpp);
|
174
176
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
175
177
|
gpr_log(GPR_INFO, "TCP:%p read_allocation_done: %s", tcp->socket,
|
176
178
|
grpc_error_string(error));
|
@@ -179,7 +181,8 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
|
|
179
181
|
/* Before calling read, we allocate a buffer with exactly one slice
|
180
182
|
* to tcp->read_slices and wait for the callback indicating that the
|
181
183
|
* allocation was successful. So slices[0] should always exist here */
|
182
|
-
char* buffer =
|
184
|
+
char* buffer = reinterpret_cast<char*>(
|
185
|
+
GRPC_SLICE_START_PTR(tcp->read_slices->slices[0]));
|
183
186
|
size_t len = GRPC_SLICE_LENGTH(tcp->read_slices->slices[0]);
|
184
187
|
grpc_custom_socket_vtable->read(tcp->socket, buffer, len,
|
185
188
|
custom_read_callback);
|
@@ -195,7 +198,7 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
|
|
195
198
|
|
196
199
|
static void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
|
197
200
|
grpc_closure* cb, bool /*urgent*/) {
|
198
|
-
custom_tcp_endpoint* tcp = (
|
201
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
199
202
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
200
203
|
GPR_ASSERT(tcp->read_cb == nullptr);
|
201
204
|
tcp->read_cb = cb;
|
@@ -213,7 +216,8 @@ static void custom_write_callback(grpc_custom_socket* socket,
|
|
213
216
|
grpc_error* error) {
|
214
217
|
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
215
218
|
grpc_core::ExecCtx exec_ctx;
|
216
|
-
custom_tcp_endpoint* tcp =
|
219
|
+
custom_tcp_endpoint* tcp =
|
220
|
+
reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
|
217
221
|
grpc_closure* cb = tcp->write_cb;
|
218
222
|
tcp->write_cb = nullptr;
|
219
223
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
@@ -226,7 +230,7 @@ static void custom_write_callback(grpc_custom_socket* socket,
|
|
226
230
|
|
227
231
|
static void endpoint_write(grpc_endpoint* ep, grpc_slice_buffer* write_slices,
|
228
232
|
grpc_closure* cb, void* /*arg*/) {
|
229
|
-
custom_tcp_endpoint* tcp = (
|
233
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
230
234
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
231
235
|
|
232
236
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
@@ -284,7 +288,7 @@ static void endpoint_delete_from_pollset_set(grpc_endpoint* ep,
|
|
284
288
|
}
|
285
289
|
|
286
290
|
static void endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
|
287
|
-
custom_tcp_endpoint* tcp = (
|
291
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
288
292
|
if (!tcp->shutting_down) {
|
289
293
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
290
294
|
const char* str = grpc_error_string(why);
|
@@ -309,28 +313,29 @@ static void custom_close_callback(grpc_custom_socket* socket) {
|
|
309
313
|
} else if (socket->endpoint) {
|
310
314
|
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
311
315
|
grpc_core::ExecCtx exec_ctx;
|
312
|
-
custom_tcp_endpoint* tcp =
|
316
|
+
custom_tcp_endpoint* tcp =
|
317
|
+
reinterpret_cast<custom_tcp_endpoint*>(socket->endpoint);
|
313
318
|
TCP_UNREF(tcp, "destroy");
|
314
319
|
}
|
315
320
|
}
|
316
321
|
|
317
322
|
static void endpoint_destroy(grpc_endpoint* ep) {
|
318
|
-
custom_tcp_endpoint* tcp = (
|
323
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
319
324
|
grpc_custom_socket_vtable->close(tcp->socket, custom_close_callback);
|
320
325
|
}
|
321
326
|
|
322
327
|
static absl::string_view endpoint_get_peer(grpc_endpoint* ep) {
|
323
|
-
custom_tcp_endpoint* tcp = (
|
328
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
324
329
|
return tcp->peer_string;
|
325
330
|
}
|
326
331
|
|
327
332
|
static absl::string_view endpoint_get_local_address(grpc_endpoint* ep) {
|
328
|
-
custom_tcp_endpoint* tcp = (
|
333
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
329
334
|
return tcp->local_address;
|
330
335
|
}
|
331
336
|
|
332
337
|
static grpc_resource_user* endpoint_get_resource_user(grpc_endpoint* ep) {
|
333
|
-
custom_tcp_endpoint* tcp = (
|
338
|
+
custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
|
334
339
|
return tcp->resource_user;
|
335
340
|
}
|
336
341
|
|
@@ -362,7 +367,7 @@ grpc_endpoint* custom_tcp_endpoint_create(grpc_custom_socket* socket,
|
|
362
367
|
gpr_log(GPR_INFO, "Creating TCP endpoint %p", socket);
|
363
368
|
}
|
364
369
|
socket->refs++;
|
365
|
-
socket->endpoint = (
|
370
|
+
socket->endpoint = reinterpret_cast<grpc_endpoint*>(tcp);
|
366
371
|
tcp->socket = socket;
|
367
372
|
tcp->base.vtable = &vtable;
|
368
373
|
gpr_ref_init(&tcp->refcount, 1);
|
@@ -181,8 +181,9 @@ class TcpZerocopySendCtx {
|
|
181
181
|
static constexpr int kDefaultMaxSends = 4;
|
182
182
|
static constexpr size_t kDefaultSendBytesThreshold = 16 * 1024; // 16KB
|
183
183
|
|
184
|
-
TcpZerocopySendCtx(
|
185
|
-
|
184
|
+
explicit TcpZerocopySendCtx(
|
185
|
+
int max_sends = kDefaultMaxSends,
|
186
|
+
size_t send_bytes_threshold = kDefaultSendBytesThreshold)
|
186
187
|
: max_sends_(max_sends),
|
187
188
|
free_send_records_size_(max_sends),
|
188
189
|
threshold_bytes_(send_bytes_threshold) {
|
@@ -465,7 +466,8 @@ static void run_poller(void* bp, grpc_error* /*error_ignored*/) {
|
|
465
466
|
if (gpr_atm_no_barrier_load(&g_uncovered_notifications_pending) == 1 &&
|
466
467
|
gpr_atm_full_cas(&g_uncovered_notifications_pending, 1, 0)) {
|
467
468
|
gpr_mu_lock(p->pollset_mu);
|
468
|
-
bool cas_ok =
|
469
|
+
bool cas_ok =
|
470
|
+
gpr_atm_full_cas(&g_backup_poller, reinterpret_cast<gpr_atm>(p), 0);
|
469
471
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
470
472
|
gpr_log(GPR_INFO, "BACKUP_POLLER:%p done cas_ok=%d", p, cas_ok);
|
471
473
|
}
|
@@ -487,7 +489,8 @@ static void run_poller(void* bp, grpc_error* /*error_ignored*/) {
|
|
487
489
|
}
|
488
490
|
|
489
491
|
static void drop_uncovered(grpc_tcp* /*tcp*/) {
|
490
|
-
backup_poller* p =
|
492
|
+
backup_poller* p =
|
493
|
+
reinterpret_cast<backup_poller*>(gpr_atm_acq_load(&g_backup_poller));
|
491
494
|
gpr_atm old_count =
|
492
495
|
gpr_atm_full_fetch_add(&g_uncovered_notifications_pending, -1);
|
493
496
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
|
@@ -526,8 +529,8 @@ static void cover_self(grpc_tcp* tcp) {
|
|
526
529
|
GRPC_ERROR_NONE, grpc_core::ExecutorType::DEFAULT,
|
527
530
|
grpc_core::ExecutorJobType::LONG);
|
528
531
|
} else {
|
529
|
-
while ((p =
|
530
|
-
|
532
|
+
while ((p = reinterpret_cast<backup_poller*>(
|
533
|
+
gpr_atm_acq_load(&g_backup_poller))) == nullptr) {
|
531
534
|
// spin waiting for backup poller
|
532
535
|
}
|
533
536
|
}
|
@@ -83,7 +83,8 @@ struct grpc_tcp_server {
|
|
83
83
|
static grpc_error* tcp_server_create(grpc_closure* shutdown_complete,
|
84
84
|
const grpc_channel_args* args,
|
85
85
|
grpc_tcp_server** server) {
|
86
|
-
grpc_tcp_server* s =
|
86
|
+
grpc_tcp_server* s =
|
87
|
+
static_cast<grpc_tcp_server*>(gpr_malloc(sizeof(grpc_tcp_server)));
|
87
88
|
// Let the implementation decide if so_reuseport can be enabled or not.
|
88
89
|
s->so_reuseport = true;
|
89
90
|
s->resource_quota = grpc_resource_quota_create(nullptr);
|
@@ -95,7 +96,7 @@ static grpc_error* tcp_server_create(grpc_closure* shutdown_complete,
|
|
95
96
|
if (args->args[i].type == GRPC_ARG_POINTER) {
|
96
97
|
grpc_resource_quota_unref_internal(s->resource_quota);
|
97
98
|
s->resource_quota = grpc_resource_quota_ref_internal(
|
98
|
-
(
|
99
|
+
static_cast<grpc_resource_quota*>(args->args[i].value.pointer.p));
|
99
100
|
} else {
|
100
101
|
grpc_resource_quota_unref_internal(s->resource_quota);
|
101
102
|
gpr_free(s);
|
@@ -163,12 +164,12 @@ static void custom_close_callback(grpc_custom_socket* socket) {
|
|
163
164
|
}
|
164
165
|
}
|
165
166
|
|
166
|
-
void grpc_custom_close_server_callback(grpc_tcp_listener*
|
167
|
-
if (
|
167
|
+
void grpc_custom_close_server_callback(grpc_tcp_listener* listener) {
|
168
|
+
if (listener) {
|
168
169
|
grpc_core::ExecCtx exec_ctx;
|
169
|
-
|
170
|
-
if (
|
171
|
-
finish_shutdown(
|
170
|
+
listener->server->open_ports--;
|
171
|
+
if (listener->server->open_ports == 0 && listener->server->shutdown) {
|
172
|
+
finish_shutdown(listener->server);
|
172
173
|
}
|
173
174
|
}
|
174
175
|
}
|
@@ -213,7 +214,7 @@ static void tcp_server_unref(grpc_tcp_server* s) {
|
|
213
214
|
|
214
215
|
static void finish_accept(grpc_tcp_listener* sp, grpc_custom_socket* socket) {
|
215
216
|
grpc_tcp_server_acceptor* acceptor =
|
216
|
-
(
|
217
|
+
static_cast<grpc_tcp_server_acceptor*>(gpr_malloc(sizeof(*acceptor)));
|
217
218
|
grpc_endpoint* ep = nullptr;
|
218
219
|
grpc_resolved_address peer_name;
|
219
220
|
std::string peer_name_string;
|
@@ -222,7 +223,8 @@ static void finish_accept(grpc_tcp_listener* sp, grpc_custom_socket* socket) {
|
|
222
223
|
memset(&peer_name, 0, sizeof(grpc_resolved_address));
|
223
224
|
peer_name.len = GRPC_MAX_SOCKADDR_SIZE;
|
224
225
|
err = grpc_custom_socket_vtable->getpeername(
|
225
|
-
socket, (
|
226
|
+
socket, reinterpret_cast<grpc_sockaddr*>(&peer_name.addr),
|
227
|
+
reinterpret_cast<int*>(&peer_name.len));
|
226
228
|
if (err == GRPC_ERROR_NONE) {
|
227
229
|
peer_name_string = grpc_sockaddr_to_uri(&peer_name);
|
228
230
|
} else {
|
@@ -262,8 +264,8 @@ static void custom_accept_callback(grpc_custom_socket* socket,
|
|
262
264
|
}
|
263
265
|
finish_accept(sp, client);
|
264
266
|
if (!sp->closed) {
|
265
|
-
grpc_custom_socket* new_socket =
|
266
|
-
|
267
|
+
grpc_custom_socket* new_socket = static_cast<grpc_custom_socket*>(
|
268
|
+
gpr_malloc(sizeof(grpc_custom_socket)));
|
267
269
|
new_socket->endpoint = nullptr;
|
268
270
|
new_socket->listener = nullptr;
|
269
271
|
new_socket->connector = nullptr;
|
@@ -290,8 +292,9 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
|
|
290
292
|
flags |= GRPC_CUSTOM_SOCKET_OPT_SO_REUSEPORT;
|
291
293
|
}
|
292
294
|
|
293
|
-
error = grpc_custom_socket_vtable->bind(
|
294
|
-
|
295
|
+
error = grpc_custom_socket_vtable->bind(
|
296
|
+
socket, reinterpret_cast<grpc_sockaddr*>(const_cast<char*>(addr->addr)),
|
297
|
+
addr->len, flags);
|
295
298
|
if (error != GRPC_ERROR_NONE) {
|
296
299
|
return error;
|
297
300
|
}
|
@@ -303,7 +306,8 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
|
|
303
306
|
|
304
307
|
sockname_temp.len = GRPC_MAX_SOCKADDR_SIZE;
|
305
308
|
error = grpc_custom_socket_vtable->getsockname(
|
306
|
-
socket, (
|
309
|
+
socket, reinterpret_cast<grpc_sockaddr*>(&sockname_temp.addr),
|
310
|
+
reinterpret_cast<int*>(&sockname_temp.len));
|
307
311
|
if (error != GRPC_ERROR_NONE) {
|
308
312
|
return error;
|
309
313
|
}
|
@@ -312,7 +316,7 @@ static grpc_error* add_socket_to_server(grpc_tcp_server* s,
|
|
312
316
|
|
313
317
|
GPR_ASSERT(port >= 0);
|
314
318
|
GPR_ASSERT(!s->on_accept_cb && "must add ports before starting server");
|
315
|
-
sp = (
|
319
|
+
sp = static_cast<grpc_tcp_listener*>(gpr_zalloc(sizeof(grpc_tcp_listener)));
|
316
320
|
sp->next = nullptr;
|
317
321
|
if (s->head == nullptr) {
|
318
322
|
s->head = sp;
|
@@ -358,12 +362,13 @@ static grpc_error* tcp_server_add_port(grpc_tcp_server* s,
|
|
358
362
|
socket = sp->socket;
|
359
363
|
sockname_temp.len = GRPC_MAX_SOCKADDR_SIZE;
|
360
364
|
if (nullptr == grpc_custom_socket_vtable->getsockname(
|
361
|
-
socket,
|
362
|
-
(
|
365
|
+
socket,
|
366
|
+
reinterpret_cast<grpc_sockaddr*>(&sockname_temp.addr),
|
367
|
+
reinterpret_cast<int*>(&sockname_temp.len))) {
|
363
368
|
*port = grpc_sockaddr_get_port(&sockname_temp);
|
364
369
|
if (*port > 0) {
|
365
|
-
allocated_addr =
|
366
|
-
|
370
|
+
allocated_addr = static_cast<grpc_resolved_address*>(
|
371
|
+
gpr_malloc(sizeof(grpc_resolved_address)));
|
367
372
|
memcpy(allocated_addr, addr, sizeof(grpc_resolved_address));
|
368
373
|
grpc_sockaddr_set_port(allocated_addr, *port);
|
369
374
|
addr = allocated_addr;
|
@@ -391,7 +396,8 @@ static grpc_error* tcp_server_add_port(grpc_tcp_server* s,
|
|
391
396
|
}
|
392
397
|
|
393
398
|
family = grpc_sockaddr_get_family(addr);
|
394
|
-
socket =
|
399
|
+
socket =
|
400
|
+
static_cast<grpc_custom_socket*>(gpr_malloc(sizeof(grpc_custom_socket)));
|
395
401
|
socket->refs = 1;
|
396
402
|
socket->endpoint = nullptr;
|
397
403
|
socket->listener = nullptr;
|
@@ -430,8 +436,8 @@ static void tcp_server_start(grpc_tcp_server* server,
|
|
430
436
|
server->on_accept_cb = on_accept_cb;
|
431
437
|
server->on_accept_cb_arg = cb_arg;
|
432
438
|
for (sp = server->head; sp; sp = sp->next) {
|
433
|
-
grpc_custom_socket* new_socket =
|
434
|
-
|
439
|
+
grpc_custom_socket* new_socket = static_cast<grpc_custom_socket*>(
|
440
|
+
gpr_malloc(sizeof(grpc_custom_socket)));
|
435
441
|
new_socket->endpoint = nullptr;
|
436
442
|
new_socket->listener = nullptr;
|
437
443
|
new_socket->connector = nullptr;
|
@@ -57,16 +57,16 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
|
|
57
57
|
timer->pending = true;
|
58
58
|
timer->closure = closure;
|
59
59
|
grpc_custom_timer* timer_wrapper =
|
60
|
-
(
|
60
|
+
static_cast<grpc_custom_timer*>(gpr_malloc(sizeof(grpc_custom_timer)));
|
61
61
|
timer_wrapper->timeout_ms = timeout;
|
62
|
-
timer->custom_timer =
|
62
|
+
timer->custom_timer = timer_wrapper;
|
63
63
|
timer_wrapper->original = timer;
|
64
64
|
custom_timer_impl->start(timer_wrapper);
|
65
65
|
}
|
66
66
|
|
67
67
|
static void timer_cancel(grpc_timer* timer) {
|
68
68
|
GRPC_CUSTOM_IOMGR_ASSERT_SAME_THREAD();
|
69
|
-
grpc_custom_timer* tw = (
|
69
|
+
grpc_custom_timer* tw = static_cast<grpc_custom_timer*>(timer->custom_timer);
|
70
70
|
if (timer->pending) {
|
71
71
|
timer->pending = false;
|
72
72
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, timer->closure,
|
@@ -432,7 +432,7 @@ static void timer_init(grpc_timer* timer, grpc_millis deadline,
|
|
432
432
|
note_deadline_change(shard);
|
433
433
|
if (shard->shard_queue_index == 0 && deadline < old_min_deadline) {
|
434
434
|
#if GPR_ARCH_64
|
435
|
-
// TODO:
|
435
|
+
// TODO(sreek): Using c-style cast here. static_cast<> gives an error
|
436
436
|
// (on mac platforms complaining that gpr_atm* is (long *) while
|
437
437
|
// (&g_shared_mutables.min_timer) is a (long long *). The cast should be
|
438
438
|
// safe since we know that both are pointer types and 64-bit wide.
|
@@ -586,7 +586,7 @@ static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
|
|
586
586
|
grpc_timer_check_result result = GRPC_TIMERS_NOT_CHECKED;
|
587
587
|
|
588
588
|
#if GPR_ARCH_64
|
589
|
-
// TODO:
|
589
|
+
// TODO(sreek): Using c-style cast here. static_cast<> gives an error (on
|
590
590
|
// mac platforms complaining that gpr_atm* is (long *) while
|
591
591
|
// (&g_shared_mutables.min_timer) is a (long long *). The cast should be
|
592
592
|
// safe since we know that both are pointer types and 64-bit wide
|
@@ -651,7 +651,7 @@ static grpc_timer_check_result run_some_expired_timers(grpc_millis now,
|
|
651
651
|
}
|
652
652
|
|
653
653
|
#if GPR_ARCH_64
|
654
|
-
// TODO:
|
654
|
+
// TODO(sreek): Using c-style cast here. static_cast<> gives an error (on
|
655
655
|
// mac platforms complaining that gpr_atm* is (long *) while
|
656
656
|
// (&g_shared_mutables.min_timer) is a (long long *). The cast should be
|
657
657
|
// safe since we know that both are pointer types and 64-bit wide
|
@@ -342,8 +342,8 @@ void grpc_timer_manager_shutdown(void) {
|
|
342
342
|
gpr_cv_destroy(&g_cv_shutdown);
|
343
343
|
}
|
344
344
|
|
345
|
-
void grpc_timer_manager_set_threading(bool
|
346
|
-
if (
|
345
|
+
void grpc_timer_manager_set_threading(bool enabled) {
|
346
|
+
if (enabled) {
|
347
347
|
start_threads();
|
348
348
|
} else {
|
349
349
|
stop_threads();
|