grpc 1.35.0.pre1 → 1.37.1
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 +121 -89
- data/include/grpc/grpc.h +15 -1
- data/include/grpc/grpc_security.h +16 -11
- data/include/grpc/impl/codegen/port_platform.h +2 -0
- data/src/core/ext/filters/client_channel/client_channel.cc +359 -331
- data/src/core/ext/filters/client_channel/client_channel.h +0 -2
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
- data/src/core/ext/filters/client_channel/config_selector.h +9 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -4
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy.cc +3 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +3 -5
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +8 -6
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +289 -170
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +8 -25
- 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 +232 -110
- data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
- data/src/core/ext/filters/client_channel/resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver.h +1 -12
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +36 -45
- 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_ev_driver_windows.cc +3 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +34 -50
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +16 -14
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +18 -15
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +377 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -4
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +307 -155
- data/src/core/ext/filters/client_channel/server_address.cc +9 -0
- data/src/core/ext/filters/client_channel/server_address.h +31 -0
- data/src/core/ext/filters/client_channel/subchannel.cc +69 -146
- data/src/core/ext/filters/client_channel/subchannel.h +63 -95
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +500 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
- data/src/core/ext/filters/max_age/max_age_filter.cc +35 -32
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +3 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -2
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +490 -178
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +11 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +1 -1
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +62 -18
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +39 -7
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +5 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +11 -16
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +42 -59
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +3 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +15 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +75 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +28 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +11 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +41 -7
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +23 -21
- 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 +13 -9
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +37 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +11 -9
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +44 -27
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +57 -16
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +150 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +67 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +19 -21
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +64 -51
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +16 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +50 -18
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +4 -7
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -17
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +30 -23
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +85 -73
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +0 -3
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +0 -2
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +21 -4
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +29 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/authority.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +60 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +143 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +84 -0
- data/src/core/ext/upb-generated/{udpa/core/v1 → xds/core/v3}/resource.upb.c +9 -9
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +94 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +166 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +85 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +168 -171
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +405 -420
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +2 -2
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +12 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +177 -171
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +88 -88
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +153 -153
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +33 -20
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +56 -59
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +116 -111
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +129 -121
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +21 -24
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +17 -13
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +753 -724
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +22 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +371 -377
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +12 -16
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +112 -108
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +45 -53
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +177 -180
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +92 -102
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +32 -42
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +30 -40
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +4 -7
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +38 -44
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +30 -33
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +8 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +9 -9
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +9 -8
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +8 -8
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +8 -8
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +9 -8
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +8 -8
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +62 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +49 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +67 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
- data/src/core/ext/xds/xds_api.cc +2149 -666
- data/src/core/ext/xds/xds_api.h +321 -119
- data/src/core/ext/xds/xds_bootstrap.cc +80 -45
- data/src/core/ext/xds/xds_bootstrap.h +17 -5
- data/src/core/ext/xds/xds_certificate_provider.cc +180 -74
- data/src/core/ext/xds/xds_certificate_provider.h +83 -44
- data/src/core/ext/xds/xds_client.cc +181 -34
- data/src/core/ext/xds/xds_client.h +29 -0
- data/src/core/ext/xds/xds_client_stats.cc +2 -1
- data/src/core/ext/xds/xds_client_stats.h +2 -2
- data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
- data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
- data/src/core/ext/xds/xds_http_filters.cc +114 -0
- data/src/core/ext/xds/xds_http_filters.h +130 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +425 -24
- data/src/core/lib/channel/channel_stack.cc +12 -0
- data/src/core/lib/channel/channel_stack.h +7 -0
- data/src/core/lib/channel/channelz.cc +92 -4
- data/src/core/lib/channel/channelz.h +30 -1
- data/src/core/lib/channel/channelz_registry.cc +14 -0
- data/src/core/lib/channel/handshaker.cc +2 -44
- data/src/core/lib/channel/handshaker.h +1 -18
- data/src/core/lib/channel/status_util.cc +12 -2
- data/src/core/lib/channel/status_util.h +5 -0
- data/src/core/lib/gpr/log.cc +6 -1
- data/src/core/lib/gpr/sync_abseil.cc +3 -6
- data/src/core/lib/gpr/sync_windows.cc +2 -2
- data/src/core/lib/gprpp/atomic.h +3 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
- data/src/core/lib/gprpp/mpscq.cc +2 -2
- data/src/core/lib/gprpp/ref_counted.h +1 -1
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
- data/src/core/lib/gprpp/sync.h +129 -40
- data/src/core/lib/gprpp/thd.h +1 -1
- data/src/core/lib/gprpp/time_util.cc +77 -0
- data/src/core/lib/gprpp/time_util.h +42 -0
- data/src/core/lib/http/httpcli_security_connector.cc +2 -2
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/cfstream_handle.cc +2 -2
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +11 -8
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -3
- data/src/core/lib/iomgr/ev_epollex_linux.cc +4 -4
- data/src/core/lib/iomgr/ev_posix.cc +3 -3
- data/src/core/lib/iomgr/exec_ctx.cc +6 -2
- data/src/core/lib/iomgr/iomgr_posix.cc +0 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +0 -1
- data/src/core/lib/iomgr/resource_quota.cc +1 -1
- data/src/core/lib/iomgr/sockaddr_utils.cc +121 -1
- data/src/core/lib/iomgr/sockaddr_utils.h +25 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
- data/src/core/lib/iomgr/tcp_posix.cc +5 -8
- data/src/core/lib/iomgr/tcp_uv.cc +2 -2
- data/src/core/lib/iomgr/timer_generic.cc +2 -2
- data/src/core/lib/iomgr/timer_manager.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
- data/src/core/lib/matchers/matchers.cc +339 -0
- data/src/core/lib/matchers/matchers.h +160 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.h +2 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -1
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +1 -1
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -6
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +0 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -3
- data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +2 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +2 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.h +1 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +128 -59
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/ssl_utils.cc +9 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +32 -14
- data/src/core/lib/security/transport/security_handshaker.cc +33 -5
- data/src/core/lib/security/transport/server_auth_filter.cc +7 -0
- data/src/core/lib/slice/slice_intern.cc +5 -6
- data/src/core/lib/surface/channel.h +3 -3
- data/src/core/lib/surface/completion_queue.cc +1 -1
- data/src/core/lib/surface/init.cc +13 -15
- data/src/core/lib/surface/lame_client.cc +38 -19
- data/src/core/lib/surface/lame_client.h +4 -3
- data/src/core/lib/surface/server.cc +43 -36
- data/src/core/lib/surface/server.h +76 -14
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/metadata.cc +6 -2
- data/src/core/lib/transport/metadata_batch.cc +27 -0
- data/src/core/lib/transport/metadata_batch.h +14 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +12 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +18 -24
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +16 -21
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
- data/src/core/tsi/fake_transport_security.cc +11 -2
- data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +2 -4
- data/src/core/tsi/ssl_transport_security.cc +0 -3
- data/src/core/tsi/ssl_transport_security.h +0 -3
- data/src/ruby/ext/grpc/extconf.rb +9 -1
- data/src/ruby/ext/grpc/rb_channel.c +10 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
- data/src/ruby/ext/grpc/rb_grpc.c +4 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
- data/src/ruby/ext/grpc/rb_server.c +13 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
- data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +7 -0
- data/src/ruby/spec/call_spec.rb +1 -1
- data/src/ruby/spec/channel_credentials_spec.rb +32 -0
- data/src/ruby/spec/channel_spec.rb +17 -6
- data/src/ruby/spec/client_auth_spec.rb +27 -1
- data/src/ruby/spec/errors_spec.rb +1 -1
- data/src/ruby/spec/generic/active_call_spec.rb +2 -2
- data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
- data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
- data/src/ruby/spec/server_credentials_spec.rb +25 -0
- data/src/ruby/spec/server_spec.rb +22 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +1 -0
- data/third_party/boringssl-with-bazel/err_data.c +715 -713
- 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 +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +3 -10
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +15 -14
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +30 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +28 -79
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +39 -85
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +5 -16
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +10 -61
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +158 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +60 -45
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +25 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +21 -13
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
- data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +136 -213
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +12 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +135 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +51 -32
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +147 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +18 -29
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +13 -4
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +1 -29
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +10 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +29 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +22 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +39 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +25 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +40 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +25 -36
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +6 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +652 -545
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +0 -167
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +22 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +56 -26
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +15 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +12 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +2 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +67 -33
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +287 -99
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +139 -36
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +4 -3
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +11 -20
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +10 -5
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +37 -16
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +20 -14
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +7 -8
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +362 -50
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +48 -15
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +66 -24
- data/third_party/xxhash/xxhash.h +5443 -0
- metadata +140 -84
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +0 -60
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +0 -52
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +0 -143
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +0 -42
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +0 -84
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +0 -94
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +0 -54
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +0 -173
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +0 -36
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +0 -92
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +0 -42
- data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +0 -62
- data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +0 -45
- data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +0 -49
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +0 -35
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +0 -68
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +0 -40
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +0 -51
- data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +0 -35
- data/src/core/lib/iomgr/iomgr_posix.h +0 -26
- data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
- data/src/core/lib/security/authorization/authorization_engine.h +0 -84
- data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
- data/src/core/lib/security/authorization/evaluate_args.h +0 -59
- data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -97
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
- data/third_party/upb/upb/json_decode.c +0 -1443
- data/third_party/upb/upb/json_decode.h +0 -23
- data/third_party/upb/upb/json_encode.c +0 -713
- data/third_party/upb/upb/json_encode.h +0 -36
@@ -203,8 +203,8 @@ static void ssl_handshake(void* arg, grpc_endpoint* tcp, const char* host,
|
|
203
203
|
grpc_channel_args args = {1, &channel_arg};
|
204
204
|
c->handshake_mgr = grpc_core::MakeRefCounted<grpc_core::HandshakeManager>();
|
205
205
|
grpc_core::HandshakerRegistry::AddHandshakers(
|
206
|
-
grpc_core::HANDSHAKER_CLIENT, &args,
|
207
|
-
c->handshake_mgr.get());
|
206
|
+
grpc_core::HANDSHAKER_CLIENT, &args,
|
207
|
+
/*interested_parties=*/nullptr, c->handshake_mgr.get());
|
208
208
|
c->handshake_mgr->DoHandshake(tcp, /*channel_args=*/nullptr, deadline,
|
209
209
|
/*acceptor=*/nullptr, on_handshake_done,
|
210
210
|
/*user_data=*/c);
|
@@ -146,7 +146,7 @@ class TracedBuffer {
|
|
146
146
|
#else /* GRPC_LINUX_ERRQUEUE */
|
147
147
|
class TracedBuffer {
|
148
148
|
public:
|
149
|
-
/*
|
149
|
+
/* Phony shutdown function */
|
150
150
|
static void Shutdown(grpc_core::TracedBuffer** /*head*/, void* /*remaining*/,
|
151
151
|
grpc_error* shutdown_err) {
|
152
152
|
GRPC_ERROR_UNREF(shutdown_err);
|
@@ -202,9 +202,9 @@ void CFStreamHandle::Unref(const char* file, int line, const char* reason) {
|
|
202
202
|
|
203
203
|
#else
|
204
204
|
|
205
|
-
/* Creating a
|
205
|
+
/* Creating a phony function so that the grpc_cfstream library will be
|
206
206
|
* non-empty.
|
207
207
|
*/
|
208
|
-
void
|
208
|
+
void CFStreamPhony() {}
|
209
209
|
|
210
210
|
#endif
|
data/src/core/lib/iomgr/error.h
CHANGED
@@ -219,7 +219,7 @@ static grpc_error* grpc_error_create_from_vector(const char* file, int line,
|
|
219
219
|
|
220
220
|
grpc_error* grpc_error_set_int(grpc_error* src, grpc_error_ints which,
|
221
221
|
intptr_t value) GRPC_MUST_USE_RESULT;
|
222
|
-
/// It is an error to pass nullptr as `p`. Caller should allocate a
|
222
|
+
/// It is an error to pass nullptr as `p`. Caller should allocate a phony
|
223
223
|
/// intptr_t for `p`, even if the value of `p` is not used.
|
224
224
|
bool grpc_error_get_int(grpc_error* error, grpc_error_ints which, intptr_t* p);
|
225
225
|
/// This call takes ownership of the slice; the error is responsible for
|
@@ -20,7 +20,7 @@
|
|
20
20
|
/// is enabled (see iomgr_posix_cfstream.cc), a global thread is started to
|
21
21
|
/// handle and trigger all the CFStream events. The CFStream streams register
|
22
22
|
/// themselves with the run loop with functions grpc_apple_register_read_stream
|
23
|
-
/// and grpc_apple_register_read_stream. Pollsets are
|
23
|
+
/// and grpc_apple_register_read_stream. Pollsets are phony and block on a
|
24
24
|
/// condition variable in pollset_work().
|
25
25
|
|
26
26
|
#include <grpc/support/port_platform.h>
|
@@ -33,7 +33,10 @@
|
|
33
33
|
|
34
34
|
#include <list>
|
35
35
|
|
36
|
+
#include "absl/time/time.h"
|
37
|
+
|
36
38
|
#include "src/core/lib/gprpp/thd.h"
|
39
|
+
#include "src/core/lib/gprpp/time_util.h"
|
37
40
|
#include "src/core/lib/iomgr/ev_apple.h"
|
38
41
|
|
39
42
|
grpc_core::DebugOnlyTraceFlag grpc_apple_polling_trace(false, "apple_polling");
|
@@ -161,7 +164,7 @@ void grpc_apple_register_write_stream(CFWriteStreamRef write_stream,
|
|
161
164
|
/// Drive the run loop in a global singleton thread until the global run loop is
|
162
165
|
/// shutdown.
|
163
166
|
static void GlobalRunLoopFunc(void* arg) {
|
164
|
-
grpc_core::
|
167
|
+
grpc_core::LockableAndReleasableMutexLock lock(&gGlobalRunLoopContext->mu);
|
165
168
|
gGlobalRunLoopContext->run_loop = CFRunLoopGetCurrent();
|
166
169
|
gGlobalRunLoopContext->init_cv.Signal();
|
167
170
|
|
@@ -173,11 +176,11 @@ static void GlobalRunLoopFunc(void* arg) {
|
|
173
176
|
gGlobalRunLoopContext->input_source_cv.Wait(&gGlobalRunLoopContext->mu);
|
174
177
|
}
|
175
178
|
gGlobalRunLoopContext->input_source_registered = false;
|
176
|
-
lock.
|
179
|
+
lock.Release();
|
177
180
|
CFRunLoopRun();
|
178
181
|
lock.Lock();
|
179
182
|
}
|
180
|
-
lock.
|
183
|
+
lock.Release();
|
181
184
|
}
|
182
185
|
|
183
186
|
// pollset implementation
|
@@ -237,9 +240,9 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
237
240
|
auto it = apple_pollset->workers.begin();
|
238
241
|
|
239
242
|
while (!actual_worker.kicked && !apple_pollset->is_shutdown) {
|
240
|
-
if (actual_worker.cv.
|
241
|
-
&apple_pollset->mu,
|
242
|
-
|
243
|
+
if (actual_worker.cv.WaitWithDeadline(
|
244
|
+
&apple_pollset->mu, grpc_core::ToAbslTime(grpc_millis_to_timespec(
|
245
|
+
deadline, GPR_CLOCK_REALTIME)))) {
|
243
246
|
// timed out
|
244
247
|
break;
|
245
248
|
}
|
@@ -299,7 +302,7 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
299
302
|
static void pollset_init(grpc_pollset* pollset, gpr_mu** mu) {
|
300
303
|
GRPC_POLLING_TRACE("pollset init: %p", pollset);
|
301
304
|
GrpcApplePollset* apple_pollset = new (pollset) GrpcApplePollset();
|
302
|
-
*mu = apple_pollset->mu
|
305
|
+
*mu = grpc_core::GetUnderlyingGprMu(&apple_pollset->mu);
|
303
306
|
}
|
304
307
|
|
305
308
|
/// The caller must acquire the lock GrpcApplePollset.mu before calling this
|
@@ -388,9 +388,9 @@ static void fd_shutdown_internal(grpc_fd* fd, grpc_error* why,
|
|
388
388
|
if (!releasing_fd) {
|
389
389
|
shutdown(fd->fd, SHUT_RDWR);
|
390
390
|
} else {
|
391
|
-
/* we need a
|
392
|
-
epoll_event
|
393
|
-
if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_DEL, fd->fd, &
|
391
|
+
/* we need a phony event for earlier linux versions. */
|
392
|
+
epoll_event phony_event;
|
393
|
+
if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_DEL, fd->fd, &phony_event) !=
|
394
394
|
0) {
|
395
395
|
gpr_log(GPR_ERROR, "epoll_ctl failed: %s", strerror(errno));
|
396
396
|
}
|
@@ -537,7 +537,7 @@ static void fd_notify_on_error(grpc_fd* fd, grpc_closure* closure) {
|
|
537
537
|
|
538
538
|
static bool fd_has_pollset(grpc_fd* fd, grpc_pollset* pollset) {
|
539
539
|
const int epfd = pollset->active_pollable->epfd;
|
540
|
-
grpc_core::
|
540
|
+
grpc_core::MutexLockForGprMu lock(&fd->pollable_mu);
|
541
541
|
for (size_t i = 0; i < fd->pollset_fds.size(); ++i) {
|
542
542
|
if (fd->pollset_fds[i] == epfd) {
|
543
543
|
return true;
|
@@ -548,7 +548,7 @@ static bool fd_has_pollset(grpc_fd* fd, grpc_pollset* pollset) {
|
|
548
548
|
|
549
549
|
static void fd_add_pollset(grpc_fd* fd, grpc_pollset* pollset) {
|
550
550
|
const int epfd = pollset->active_pollable->epfd;
|
551
|
-
grpc_core::
|
551
|
+
grpc_core::MutexLockForGprMu lock(&fd->pollable_mu);
|
552
552
|
fd->pollset_fds.push_back(epfd);
|
553
553
|
}
|
554
554
|
|
@@ -684,7 +684,7 @@ static void pollset_maybe_finish_shutdown(grpc_pollset* pollset) {
|
|
684
684
|
static grpc_error* kick_one_worker(grpc_pollset_worker* specific_worker) {
|
685
685
|
GPR_TIMER_SCOPE("kick_one_worker", 0);
|
686
686
|
pollable* p = specific_worker->pollable_obj;
|
687
|
-
grpc_core::
|
687
|
+
grpc_core::MutexLockForGprMu lock(&p->mu);
|
688
688
|
GPR_ASSERT(specific_worker != nullptr);
|
689
689
|
if (specific_worker->kicked) {
|
690
690
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
@@ -1296,7 +1296,7 @@ static void pollset_add_fd(grpc_pollset* pollset, grpc_fd* fd) {
|
|
1296
1296
|
return;
|
1297
1297
|
}
|
1298
1298
|
|
1299
|
-
grpc_core::
|
1299
|
+
grpc_core::MutexLockForGprMu lock(&pollset->mu);
|
1300
1300
|
grpc_error* error = pollset_add_fd_locked(pollset, fd);
|
1301
1301
|
|
1302
1302
|
// If we are in PO_MULTI mode, we should update the pollsets of the FD.
|
@@ -89,7 +89,7 @@ namespace {
|
|
89
89
|
|
90
90
|
grpc_poll_function_type real_poll_function;
|
91
91
|
|
92
|
-
int
|
92
|
+
int phony_poll(struct pollfd fds[], nfds_t nfds, int timeout) {
|
93
93
|
if (timeout == 0) {
|
94
94
|
return real_poll_function(fds, nfds, 0);
|
95
95
|
} else {
|
@@ -103,10 +103,10 @@ const grpc_event_engine_vtable* init_non_polling(bool explicit_request) {
|
|
103
103
|
if (!explicit_request) {
|
104
104
|
return nullptr;
|
105
105
|
}
|
106
|
-
// return the simplest engine as a
|
106
|
+
// return the simplest engine as a phony but also override the poller
|
107
107
|
auto ret = grpc_init_poll_posix(explicit_request);
|
108
108
|
real_poll_function = grpc_poll_function;
|
109
|
-
grpc_poll_function =
|
109
|
+
grpc_poll_function = phony_poll;
|
110
110
|
|
111
111
|
return ret;
|
112
112
|
}
|
@@ -58,7 +58,9 @@ static grpc_millis timespan_to_millis_round_down(gpr_timespec ts) {
|
|
58
58
|
double x = GPR_MS_PER_SEC * static_cast<double>(ts.tv_sec) +
|
59
59
|
static_cast<double>(ts.tv_nsec) / GPR_NS_PER_MS;
|
60
60
|
if (x < 0) return 0;
|
61
|
-
if (x > GRPC_MILLIS_INF_FUTURE)
|
61
|
+
if (x > static_cast<double>(GRPC_MILLIS_INF_FUTURE)) {
|
62
|
+
return GRPC_MILLIS_INF_FUTURE;
|
63
|
+
}
|
62
64
|
return static_cast<grpc_millis>(x);
|
63
65
|
}
|
64
66
|
|
@@ -72,7 +74,9 @@ static grpc_millis timespan_to_millis_round_up(gpr_timespec ts) {
|
|
72
74
|
static_cast<double>(GPR_NS_PER_SEC - 1) /
|
73
75
|
static_cast<double>(GPR_NS_PER_SEC);
|
74
76
|
if (x < 0) return 0;
|
75
|
-
if (x > GRPC_MILLIS_INF_FUTURE)
|
77
|
+
if (x > static_cast<double>(GRPC_MILLIS_INF_FUTURE)) {
|
78
|
+
return GRPC_MILLIS_INF_FUTURE;
|
79
|
+
}
|
76
80
|
return static_cast<grpc_millis>(x);
|
77
81
|
}
|
78
82
|
|
@@ -25,7 +25,6 @@
|
|
25
25
|
#include "src/core/lib/debug/trace.h"
|
26
26
|
#include "src/core/lib/iomgr/ev_posix.h"
|
27
27
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
28
|
-
#include "src/core/lib/iomgr/iomgr_posix.h"
|
29
28
|
#include "src/core/lib/iomgr/resolve_address.h"
|
30
29
|
#include "src/core/lib/iomgr/tcp_client.h"
|
31
30
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
@@ -40,7 +40,6 @@
|
|
40
40
|
#include "src/core/lib/iomgr/ev_apple.h"
|
41
41
|
#include "src/core/lib/iomgr/ev_posix.h"
|
42
42
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
43
|
-
#include "src/core/lib/iomgr/iomgr_posix.h"
|
44
43
|
#include "src/core/lib/iomgr/resolve_address.h"
|
45
44
|
#include "src/core/lib/iomgr/tcp_client.h"
|
46
45
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
@@ -132,7 +132,7 @@ struct grpc_resource_quota {
|
|
132
132
|
scaled to the range [0..RESOURCE_USAGE_ESTIMATION_MAX] */
|
133
133
|
gpr_atm memory_usage_estimation;
|
134
134
|
|
135
|
-
/*
|
135
|
+
/* Main combiner lock: all activity on a quota executes under this combiner
|
136
136
|
* (so no mutex is needed for this data structure) */
|
137
137
|
grpc_core::Combiner* combiner;
|
138
138
|
/* Size of the resource quota */
|
@@ -183,7 +183,7 @@ std::string grpc_sockaddr_to_string(const grpc_resolved_address* resolved_addr,
|
|
183
183
|
if (ip != nullptr && grpc_inet_ntop(addr->sa_family, ip, ntop_buf,
|
184
184
|
sizeof(ntop_buf)) != nullptr) {
|
185
185
|
if (sin6_scope_id != 0) {
|
186
|
-
// Enclose sin6_scope_id with the format defined in RFC
|
186
|
+
// Enclose sin6_scope_id with the format defined in RFC 6874 section 2.
|
187
187
|
std::string host_with_scope =
|
188
188
|
absl::StrFormat("%s%%25%" PRIu32, ntop_buf, sin6_scope_id);
|
189
189
|
out = grpc_core::JoinHostPort(host_with_scope, port);
|
@@ -215,6 +215,25 @@ void grpc_string_to_sockaddr(grpc_resolved_address* out, const char* addr,
|
|
215
215
|
grpc_sockaddr_set_port(out, port);
|
216
216
|
}
|
217
217
|
|
218
|
+
grpc_error* grpc_string_to_sockaddr_new(grpc_resolved_address* out,
|
219
|
+
const char* addr, int port) {
|
220
|
+
memset(out, 0, sizeof(grpc_resolved_address));
|
221
|
+
grpc_sockaddr_in6* addr6 = reinterpret_cast<grpc_sockaddr_in6*>(out->addr);
|
222
|
+
grpc_sockaddr_in* addr4 = reinterpret_cast<grpc_sockaddr_in*>(out->addr);
|
223
|
+
if (grpc_inet_pton(GRPC_AF_INET6, addr, &addr6->sin6_addr) == 1) {
|
224
|
+
addr6->sin6_family = GRPC_AF_INET6;
|
225
|
+
out->len = sizeof(grpc_sockaddr_in6);
|
226
|
+
} else if (grpc_inet_pton(GRPC_AF_INET, addr, &addr4->sin_addr) == 1) {
|
227
|
+
addr4->sin_family = GRPC_AF_INET;
|
228
|
+
out->len = sizeof(grpc_sockaddr_in);
|
229
|
+
} else {
|
230
|
+
return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
|
231
|
+
absl::StrCat("Failed to parse address:", addr).c_str());
|
232
|
+
}
|
233
|
+
grpc_sockaddr_set_port(out, port);
|
234
|
+
return GRPC_ERROR_NONE;
|
235
|
+
}
|
236
|
+
|
218
237
|
std::string grpc_sockaddr_to_uri(const grpc_resolved_address* resolved_addr) {
|
219
238
|
if (resolved_addr->len == 0) return "";
|
220
239
|
grpc_resolved_address addr_normalized;
|
@@ -294,3 +313,104 @@ int grpc_sockaddr_set_port(grpc_resolved_address* resolved_addr, int port) {
|
|
294
313
|
return 0;
|
295
314
|
}
|
296
315
|
}
|
316
|
+
|
317
|
+
std::string grpc_sockaddr_get_packed_host(
|
318
|
+
const grpc_resolved_address* resolved_addr) {
|
319
|
+
const grpc_sockaddr* addr =
|
320
|
+
reinterpret_cast<const grpc_sockaddr*>(resolved_addr->addr);
|
321
|
+
if (addr->sa_family == GRPC_AF_INET) {
|
322
|
+
const grpc_sockaddr_in* addr4 =
|
323
|
+
reinterpret_cast<const grpc_sockaddr_in*>(addr);
|
324
|
+
const char* addr_bytes = reinterpret_cast<const char*>(&addr4->sin_addr);
|
325
|
+
return std::string(addr_bytes, 4);
|
326
|
+
} else if (addr->sa_family == GRPC_AF_INET6) {
|
327
|
+
const grpc_sockaddr_in6* addr6 =
|
328
|
+
reinterpret_cast<const grpc_sockaddr_in6*>(addr);
|
329
|
+
const char* addr_bytes = reinterpret_cast<const char*>(&addr6->sin6_addr);
|
330
|
+
return std::string(addr_bytes, 16);
|
331
|
+
} else {
|
332
|
+
GPR_ASSERT(false);
|
333
|
+
}
|
334
|
+
}
|
335
|
+
|
336
|
+
void grpc_sockaddr_mask_bits(grpc_resolved_address* address,
|
337
|
+
uint32_t mask_bits) {
|
338
|
+
grpc_sockaddr* addr = reinterpret_cast<grpc_sockaddr*>(address->addr);
|
339
|
+
if (addr->sa_family == GRPC_AF_INET) {
|
340
|
+
grpc_sockaddr_in* addr4 = reinterpret_cast<grpc_sockaddr_in*>(addr);
|
341
|
+
if (mask_bits == 0) {
|
342
|
+
memset(&addr4->sin_addr, 0, sizeof(addr4->sin_addr));
|
343
|
+
return;
|
344
|
+
} else if (mask_bits >= 32) {
|
345
|
+
return;
|
346
|
+
}
|
347
|
+
uint32_t mask_ip_addr = (~(uint32_t(0))) << (32 - mask_bits);
|
348
|
+
addr4->sin_addr.s_addr &= grpc_htonl(mask_ip_addr);
|
349
|
+
} else if (addr->sa_family == GRPC_AF_INET6) {
|
350
|
+
grpc_sockaddr_in6* addr6 = reinterpret_cast<grpc_sockaddr_in6*>(addr);
|
351
|
+
if (mask_bits == 0) {
|
352
|
+
memset(&addr6->sin6_addr, 0, sizeof(addr6->sin6_addr));
|
353
|
+
return;
|
354
|
+
} else if (mask_bits >= 128) {
|
355
|
+
return;
|
356
|
+
}
|
357
|
+
// We cannot use s6_addr32 since it is not defined on all platforms that we
|
358
|
+
// need it on.
|
359
|
+
uint32_t address_parts[4];
|
360
|
+
GPR_ASSERT(sizeof(addr6->sin6_addr) == sizeof(address_parts));
|
361
|
+
memcpy(address_parts, &addr6->sin6_addr, sizeof(grpc_in6_addr));
|
362
|
+
if (mask_bits <= 32) {
|
363
|
+
uint32_t mask_ip_addr = (~(uint32_t(0))) << (32 - mask_bits);
|
364
|
+
address_parts[0] &= grpc_htonl(mask_ip_addr);
|
365
|
+
memset(&address_parts[1], 0, sizeof(uint32_t));
|
366
|
+
memset(&address_parts[2], 0, sizeof(uint32_t));
|
367
|
+
memset(&address_parts[3], 0, sizeof(uint32_t));
|
368
|
+
} else if (mask_bits <= 64) {
|
369
|
+
mask_bits -= 32;
|
370
|
+
uint32_t mask_ip_addr = (~(uint32_t(0))) << (32 - mask_bits);
|
371
|
+
address_parts[1] &= grpc_htonl(mask_ip_addr);
|
372
|
+
memset(&address_parts[2], 0, sizeof(uint32_t));
|
373
|
+
memset(&address_parts[3], 0, sizeof(uint32_t));
|
374
|
+
} else if (mask_bits <= 96) {
|
375
|
+
mask_bits -= 64;
|
376
|
+
uint32_t mask_ip_addr = (~(uint32_t(0))) << (32 - mask_bits);
|
377
|
+
address_parts[2] &= grpc_htonl(mask_ip_addr);
|
378
|
+
memset(&address_parts[3], 0, sizeof(uint32_t));
|
379
|
+
} else {
|
380
|
+
mask_bits -= 96;
|
381
|
+
uint32_t mask_ip_addr = (~(uint32_t(0))) << (32 - mask_bits);
|
382
|
+
address_parts[3] &= grpc_htonl(mask_ip_addr);
|
383
|
+
}
|
384
|
+
memcpy(&addr6->sin6_addr, address_parts, sizeof(grpc_in6_addr));
|
385
|
+
}
|
386
|
+
}
|
387
|
+
|
388
|
+
bool grpc_sockaddr_match_subnet(const grpc_resolved_address* address,
|
389
|
+
const grpc_resolved_address* subnet_address,
|
390
|
+
uint32_t mask_bits) {
|
391
|
+
auto* addr = reinterpret_cast<const grpc_sockaddr*>(address->addr);
|
392
|
+
auto* subnet_addr =
|
393
|
+
reinterpret_cast<const grpc_sockaddr*>(subnet_address->addr);
|
394
|
+
if (addr->sa_family != subnet_addr->sa_family) return false;
|
395
|
+
grpc_resolved_address masked_address;
|
396
|
+
memcpy(&masked_address, address, sizeof(grpc_resolved_address));
|
397
|
+
addr = reinterpret_cast<grpc_sockaddr*>((&masked_address)->addr);
|
398
|
+
grpc_sockaddr_mask_bits(&masked_address, mask_bits);
|
399
|
+
if (addr->sa_family == GRPC_AF_INET) {
|
400
|
+
auto* addr4 = reinterpret_cast<const grpc_sockaddr_in*>(addr);
|
401
|
+
auto* subnet_addr4 = reinterpret_cast<const grpc_sockaddr_in*>(subnet_addr);
|
402
|
+
if (memcmp(&addr4->sin_addr, &subnet_addr4->sin_addr,
|
403
|
+
sizeof(addr4->sin_addr)) == 0) {
|
404
|
+
return true;
|
405
|
+
}
|
406
|
+
} else if (addr->sa_family == GRPC_AF_INET6) {
|
407
|
+
auto* addr6 = reinterpret_cast<const grpc_sockaddr_in6*>(addr);
|
408
|
+
auto* subnet_addr6 =
|
409
|
+
reinterpret_cast<const grpc_sockaddr_in6*>(subnet_addr);
|
410
|
+
if (memcmp(&addr6->sin6_addr, &subnet_addr6->sin6_addr,
|
411
|
+
sizeof(addr6->sin6_addr)) == 0) {
|
412
|
+
return true;
|
413
|
+
}
|
414
|
+
}
|
415
|
+
return false;
|
416
|
+
}
|
@@ -66,9 +66,16 @@ int grpc_sockaddr_set_port(grpc_resolved_address* addr, int port);
|
|
66
66
|
std::string grpc_sockaddr_to_string(const grpc_resolved_address* addr,
|
67
67
|
bool normalize);
|
68
68
|
|
69
|
+
// TODO(yashykt): Remove this function and replace usages with
|
70
|
+
// `grpc_string_to_sockaddr_new`
|
69
71
|
void grpc_string_to_sockaddr(grpc_resolved_address* out, const char* addr,
|
70
72
|
int port);
|
71
73
|
|
74
|
+
// Newer form of grpc_string_to_sockaddr which returns an error instead of
|
75
|
+
// crashing if \a addr is not IPv6/IPv6
|
76
|
+
grpc_error* grpc_string_to_sockaddr_new(grpc_resolved_address* out,
|
77
|
+
const char* addr, int port);
|
78
|
+
|
72
79
|
/* Returns the URI string corresponding to \a addr */
|
73
80
|
std::string grpc_sockaddr_to_uri(const grpc_resolved_address* addr);
|
74
81
|
|
@@ -77,4 +84,22 @@ const char* grpc_sockaddr_get_uri_scheme(const grpc_resolved_address* addr);
|
|
77
84
|
|
78
85
|
int grpc_sockaddr_get_family(const grpc_resolved_address* resolved_addr);
|
79
86
|
|
87
|
+
std::string grpc_sockaddr_get_packed_host(
|
88
|
+
const grpc_resolved_address* resolved_addr);
|
89
|
+
|
90
|
+
// Applies a mask of \a mask_bits to IPv4/IPv6 addresses. Has no effect if the
|
91
|
+
// address type is not IPv4/IPv6.
|
92
|
+
void grpc_sockaddr_mask_bits(grpc_resolved_address* address,
|
93
|
+
uint32_t mask_bits);
|
94
|
+
|
95
|
+
// If \a address is IPv4/IPv6, checks if the IP address falls in the CIDR
|
96
|
+
// specified by \a subnet_address and \a mask_bits.
|
97
|
+
// Returns false if \a address is not an IPv4/IPv6 address. The ports (if set)
|
98
|
+
// are ignored for matching purposes. Note that, \a subnet_address should be
|
99
|
+
// normalized, i.e., `grpc_sockaddr_mask_bits` should have been called on it if
|
100
|
+
// necessary.
|
101
|
+
bool grpc_sockaddr_match_subnet(const grpc_resolved_address* address,
|
102
|
+
const grpc_resolved_address* subnet_address,
|
103
|
+
uint32_t mask_bits);
|
104
|
+
|
80
105
|
#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */
|
@@ -38,7 +38,7 @@
|
|
38
38
|
#include "src/core/lib/channel/channel_args.h"
|
39
39
|
#include "src/core/lib/gpr/string.h"
|
40
40
|
#include "src/core/lib/iomgr/ev_posix.h"
|
41
|
-
#include "src/core/lib/iomgr/
|
41
|
+
#include "src/core/lib/iomgr/iomgr_internal.h"
|
42
42
|
#include "src/core/lib/iomgr/sockaddr.h"
|
43
43
|
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
44
44
|
#include "src/core/lib/iomgr/socket_mutator.h"
|
@@ -1241,11 +1241,11 @@ static void tcp_handle_error(void* arg /* grpc_tcp */, grpc_error* error) {
|
|
1241
1241
|
|
1242
1242
|
#else /* GRPC_LINUX_ERRQUEUE */
|
1243
1243
|
static TcpZerocopySendRecord* tcp_get_send_zerocopy_record(
|
1244
|
-
grpc_tcp* tcp
|
1244
|
+
grpc_tcp* /*tcp*/, grpc_slice_buffer* /*buf*/) {
|
1245
1245
|
return nullptr;
|
1246
1246
|
}
|
1247
1247
|
|
1248
|
-
static void ZerocopyDisableAndWaitForRemaining(grpc_tcp* tcp) {}
|
1248
|
+
static void ZerocopyDisableAndWaitForRemaining(grpc_tcp* /*tcp*/) {}
|
1249
1249
|
|
1250
1250
|
static bool tcp_write_with_timestamps(grpc_tcp* /*tcp*/, struct msghdr* /*msg*/,
|
1251
1251
|
size_t /*sending_length*/,
|
@@ -1391,8 +1391,8 @@ static bool do_tcp_flush_zerocopy(grpc_tcp* tcp, TcpZerocopySendRecord* record,
|
|
1391
1391
|
|
1392
1392
|
static void UnrefMaybePutZerocopySendRecord(grpc_tcp* tcp,
|
1393
1393
|
TcpZerocopySendRecord* record,
|
1394
|
-
uint32_t seq
|
1395
|
-
const char* /*
|
1394
|
+
uint32_t /*seq*/,
|
1395
|
+
const char* /*tag*/) {
|
1396
1396
|
if (record->Unref()) {
|
1397
1397
|
tcp->tcp_zerocopy_send_ctx.PutSendRecord(record);
|
1398
1398
|
}
|
@@ -1673,10 +1673,7 @@ static bool tcp_can_track_err(grpc_endpoint* ep) {
|
|
1673
1673
|
if (getsockname(tcp->fd, &addr, &len) < 0) {
|
1674
1674
|
return false;
|
1675
1675
|
}
|
1676
|
-
|
1677
|
-
return true;
|
1678
|
-
}
|
1679
|
-
return false;
|
1676
|
+
return addr.sa_family == AF_INET || addr.sa_family == AF_INET6;
|
1680
1677
|
}
|
1681
1678
|
|
1682
1679
|
static const grpc_endpoint_vtable vtable = {tcp_read,
|