grpc 1.37.1 → 1.38.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 +64 -58
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/channel_args.h +28 -0
- data/include/grpc/event_engine/event_engine.h +336 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/event_engine/slice_allocator.h +81 -0
- data/include/grpc/grpc.h +2 -2
- data/include/grpc/grpc_security_constants.h +14 -0
- data/include/grpc/impl/codegen/grpc_types.h +11 -0
- data/include/grpc/impl/codegen/port_platform.h +5 -0
- data/include/grpc/module.modulemap +14 -14
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
- data/src/core/ext/filters/client_channel/client_channel.cc +628 -3101
- data/src/core/ext/filters/client_channel/client_channel.h +489 -55
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
- data/src/core/ext/filters/client_channel/config_selector.h +1 -1
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
- data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
- data/src/core/ext/filters/client_channel/resolver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
- 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 +14 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
- data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
- data/src/core/ext/filters/client_channel/server_address.cc +1 -1
- data/src/core/ext/filters/client_channel/service_config.cc +15 -14
- data/src/core/ext/filters/client_channel/service_config.h +7 -6
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
- data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
- data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
- data/src/core/ext/filters/client_channel/subchannel.h +7 -6
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
- data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
- data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
- data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
- data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -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 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
- data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
- data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
- data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
- data/src/core/ext/xds/certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
- data/src/core/ext/xds/xds_api.cc +101 -93
- data/src/core/ext/xds/xds_api.h +6 -6
- data/src/core/ext/xds/xds_bootstrap.cc +97 -159
- data/src/core/ext/xds/xds_bootstrap.h +19 -24
- data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
- data/src/core/ext/xds/xds_certificate_provider.h +4 -4
- data/src/core/ext/xds/xds_channel_args.h +5 -2
- data/src/core/ext/xds/xds_client.cc +310 -178
- data/src/core/ext/xds/xds_client.h +41 -27
- data/src/core/ext/xds/xds_client_stats.h +3 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
- data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
- data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
- data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
- data/src/core/lib/channel/channel_stack.cc +10 -9
- data/src/core/lib/channel/channel_stack.h +10 -9
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +1 -1
- data/src/core/lib/channel/channelz.cc +21 -13
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/handshaker.cc +7 -6
- data/src/core/lib/channel/handshaker.h +5 -5
- data/src/core/lib/event_engine/slice_allocator.cc +59 -0
- data/src/core/lib/event_engine/sockaddr.cc +38 -0
- data/src/core/lib/gprpp/ref_counted.h +28 -14
- data/src/core/lib/gprpp/status_helper.cc +407 -0
- data/src/core/lib/gprpp/status_helper.h +180 -0
- data/src/core/lib/http/httpcli.cc +11 -11
- data/src/core/lib/http/httpcli_security_connector.cc +11 -7
- data/src/core/lib/http/parser.cc +16 -16
- data/src/core/lib/http/parser.h +4 -4
- data/src/core/lib/iomgr/buffer_list.cc +7 -9
- data/src/core/lib/iomgr/buffer_list.h +4 -5
- data/src/core/lib/iomgr/call_combiner.cc +15 -12
- data/src/core/lib/iomgr/call_combiner.h +12 -14
- data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
- data/src/core/lib/iomgr/cfstream_handle.h +1 -1
- data/src/core/lib/iomgr/closure.h +7 -6
- data/src/core/lib/iomgr/combiner.cc +14 -12
- data/src/core/lib/iomgr/combiner.h +2 -2
- data/src/core/lib/iomgr/endpoint.cc +1 -1
- data/src/core/lib/iomgr/endpoint.h +2 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
- data/src/core/lib/iomgr/error.cc +167 -61
- data/src/core/lib/iomgr/error.h +217 -106
- data/src/core/lib/iomgr/error_cfstream.cc +3 -2
- data/src/core/lib/iomgr/error_cfstream.h +2 -2
- data/src/core/lib/iomgr/error_internal.h +5 -1
- data/src/core/lib/iomgr/ev_apple.cc +5 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
- data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
- data/src/core/lib/iomgr/ev_posix.cc +9 -8
- data/src/core/lib/iomgr/ev_posix.h +9 -9
- data/src/core/lib/iomgr/exec_ctx.cc +4 -4
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +8 -8
- data/src/core/lib/iomgr/executor.h +2 -2
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr.h +1 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +3 -3
- data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
- data/src/core/lib/iomgr/load_file.cc +4 -4
- data/src/core/lib/iomgr/load_file.h +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +5 -5
- data/src/core/lib/iomgr/lockfree_event.h +1 -1
- data/src/core/lib/iomgr/pollset.cc +5 -5
- data/src/core/lib/iomgr/pollset.h +9 -9
- data/src/core/lib/iomgr/pollset_custom.cc +5 -5
- data/src/core/lib/iomgr/pollset_windows.cc +5 -5
- data/src/core/lib/iomgr/port.h +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +3 -3
- data/src/core/lib/iomgr/resolve_address.h +6 -6
- data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
- data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
- data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +11 -10
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
- data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
- data/src/core/lib/iomgr/tcp_custom.cc +14 -16
- data/src/core/lib/iomgr/tcp_custom.h +13 -12
- data/src/core/lib/iomgr/tcp_posix.cc +36 -34
- data/src/core/lib/iomgr/tcp_server.cc +6 -6
- data/src/core/lib/iomgr/tcp_server.h +12 -11
- data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
- data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
- data/src/core/lib/iomgr/tcp_uv.cc +25 -23
- data/src/core/lib/iomgr/tcp_windows.cc +13 -13
- data/src/core/lib/iomgr/tcp_windows.h +2 -2
- data/src/core/lib/iomgr/timer_custom.cc +2 -1
- data/src/core/lib/iomgr/timer_custom.h +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +6 -6
- data/src/core/lib/iomgr/udp_server.cc +21 -20
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
- data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
- data/src/core/lib/iomgr/work_serializer.h +17 -1
- data/src/core/lib/json/json.h +1 -1
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/matchers/matchers.cc +39 -39
- data/src/core/lib/matchers/matchers.h +28 -28
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.h +2 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
- data/src/core/lib/security/security_connector/security_connector.h +9 -4
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
- data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
- data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
- data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
- data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
- data/src/core/lib/security/transport/security_handshaker.cc +33 -32
- data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
- data/src/core/lib/security/transport/tsi_error.cc +2 -1
- data/src/core/lib/security/transport/tsi_error.h +2 -1
- data/src/core/lib/security/util/json_util.cc +2 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/surface/call.cc +46 -45
- data/src/core/lib/surface/call.h +2 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +46 -47
- data/src/core/lib/surface/completion_queue.h +2 -1
- data/src/core/lib/surface/lame_client.cc +11 -11
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +28 -22
- data/src/core/lib/surface/server.h +16 -15
- data/src/core/lib/surface/validate_metadata.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +3 -2
- data/src/core/lib/surface/version.cc +4 -2
- data/src/core/lib/transport/byte_stream.cc +5 -5
- data/src/core/lib/transport/byte_stream.h +8 -8
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/error_utils.cc +19 -8
- data/src/core/lib/transport/error_utils.h +11 -5
- data/src/core/lib/transport/metadata_batch.cc +37 -37
- data/src/core/lib/transport/metadata_batch.h +19 -18
- data/src/core/lib/transport/transport.cc +4 -3
- data/src/core/lib/transport/transport.h +4 -4
- data/src/core/lib/transport/transport_op_string.cc +5 -5
- data/src/core/tsi/alts/crypt/gsec.h +4 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
- data/src/core/tsi/ssl_transport_security.cc +32 -14
- data/src/core/tsi/ssl_transport_security.h +3 -4
- data/src/ruby/bin/math_services_pb.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
- data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
- data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
- data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
- data/third_party/abseil-cpp/absl/base/config.h +37 -9
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
- data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
- data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
- data/third_party/abseil-cpp/absl/base/macros.h +11 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/base/port.h +0 -1
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
- data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
- data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
- data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
- data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
- data/third_party/abseil-cpp/absl/status/status.cc +29 -22
- data/third_party/abseil-cpp/absl/status/status.h +81 -20
- data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
- data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
- data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
- data/third_party/abseil-cpp/absl/strings/match.h +16 -6
- data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
- data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
- data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
- data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
- data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
- data/third_party/abseil-cpp/absl/time/clock.h +2 -2
- data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
- data/third_party/abseil-cpp/absl/time/time.cc +4 -3
- data/third_party/abseil-cpp/absl/time/time.h +26 -24
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
- data/third_party/abseil-cpp/absl/types/variant.h +9 -4
- data/third_party/boringssl-with-bazel/err_data.c +477 -461
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
- data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
- metadata +68 -45
- data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
- data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -29,7 +29,7 @@ module Grpc
|
|
29
29
|
# performance with various types of payload.
|
30
30
|
class Service
|
31
31
|
|
32
|
-
include GRPC::GenericService
|
32
|
+
include ::GRPC::GenericService
|
33
33
|
|
34
34
|
self.marshal_class_method = :encode
|
35
35
|
self.unmarshal_class_method = :decode
|
@@ -70,7 +70,7 @@ module Grpc
|
|
70
70
|
# that case.
|
71
71
|
class Service
|
72
72
|
|
73
|
-
include GRPC::GenericService
|
73
|
+
include ::GRPC::GenericService
|
74
74
|
|
75
75
|
self.marshal_class_method = :encode
|
76
76
|
self.unmarshal_class_method = :decode
|
@@ -86,7 +86,7 @@ module Grpc
|
|
86
86
|
# A service used to control reconnect server.
|
87
87
|
class Service
|
88
88
|
|
89
|
-
include GRPC::GenericService
|
89
|
+
include ::GRPC::GenericService
|
90
90
|
|
91
91
|
self.marshal_class_method = :encode
|
92
92
|
self.unmarshal_class_method = :decode
|
@@ -102,7 +102,7 @@ module Grpc
|
|
102
102
|
# A service used to obtain stats for verifying LB behavior.
|
103
103
|
class Service
|
104
104
|
|
105
|
-
include GRPC::GenericService
|
105
|
+
include ::GRPC::GenericService
|
106
106
|
|
107
107
|
self.marshal_class_method = :encode
|
108
108
|
self.unmarshal_class_method = :decode
|
@@ -120,7 +120,7 @@ module Grpc
|
|
120
120
|
# A service to remotely control health status of an xDS test server.
|
121
121
|
class Service
|
122
122
|
|
123
|
-
include GRPC::GenericService
|
123
|
+
include ::GRPC::GenericService
|
124
124
|
|
125
125
|
self.marshal_class_method = :encode
|
126
126
|
self.unmarshal_class_method = :decode
|
@@ -136,7 +136,7 @@ module Grpc
|
|
136
136
|
# A service to dynamically update the configuration of an xDS test client.
|
137
137
|
class Service
|
138
138
|
|
139
|
-
include GRPC::GenericService
|
139
|
+
include ::GRPC::GenericService
|
140
140
|
|
141
141
|
self.marshal_class_method = :encode
|
142
142
|
self.unmarshal_class_method = :decode
|
@@ -90,10 +90,10 @@ using ContainerPointerType =
|
|
90
90
|
// lookup of std::begin and std::end, i.e.
|
91
91
|
// using std::begin;
|
92
92
|
// using std::end;
|
93
|
-
// std::foo(begin(c), end(c);
|
93
|
+
// std::foo(begin(c), end(c));
|
94
94
|
// becomes
|
95
95
|
// std::foo(container_algorithm_internal::begin(c),
|
96
|
-
//
|
96
|
+
// container_algorithm_internal::end(c));
|
97
97
|
// These are meant for internal use only.
|
98
98
|
|
99
99
|
template <typename C>
|
@@ -188,7 +188,7 @@ bool c_any_of(const C& c, Pred&& pred) {
|
|
188
188
|
// c_none_of()
|
189
189
|
//
|
190
190
|
// Container-based version of the <algorithm> `std::none_of()` function to
|
191
|
-
// test if no elements in a container
|
191
|
+
// test if no elements in a container fulfill a condition.
|
192
192
|
template <typename C, typename Pred>
|
193
193
|
bool c_none_of(const C& c, Pred&& pred) {
|
194
194
|
return std::none_of(container_algorithm_internal::c_begin(c),
|
@@ -18,8 +18,6 @@
|
|
18
18
|
// These macros are used within Abseil and allow the compiler to optimize, where
|
19
19
|
// applicable, certain function calls.
|
20
20
|
//
|
21
|
-
// This file is used for both C and C++!
|
22
|
-
//
|
23
21
|
// Most macros here are exposing GCC or Clang features, and are stubbed out for
|
24
22
|
// other compilers.
|
25
23
|
//
|
@@ -121,7 +119,7 @@
|
|
121
119
|
#if ABSL_HAVE_ATTRIBUTE(disable_tail_calls)
|
122
120
|
#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1
|
123
121
|
#define ABSL_ATTRIBUTE_NO_TAIL_CALL __attribute__((disable_tail_calls))
|
124
|
-
#elif defined(__GNUC__) && !defined(__clang__)
|
122
|
+
#elif defined(__GNUC__) && !defined(__clang__) && !defined(__e2k__)
|
125
123
|
#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1
|
126
124
|
#define ABSL_ATTRIBUTE_NO_TAIL_CALL \
|
127
125
|
__attribute__((optimize("no-optimize-sibling-calls")))
|
@@ -607,6 +605,7 @@
|
|
607
605
|
// When used with unsupported compilers, the ABSL_FALLTHROUGH_INTENDED macro
|
608
606
|
// has no effect on diagnostics. In any case this macro has no effect on runtime
|
609
607
|
// behavior and performance of code.
|
608
|
+
|
610
609
|
#ifdef ABSL_FALLTHROUGH_INTENDED
|
611
610
|
#error "ABSL_FALLTHROUGH_INTENDED should not be defined."
|
612
611
|
#endif
|
@@ -645,7 +644,7 @@
|
|
645
644
|
// Every usage of a deprecated entity will trigger a warning when compiled with
|
646
645
|
// clang's `-Wdeprecated-declarations` option. This option is turned off by
|
647
646
|
// default, but the warnings will be reported by clang-tidy.
|
648
|
-
#if defined(__clang__) && __cplusplus >= 201103L
|
647
|
+
#if defined(__clang__) && defined(__cplusplus) && __cplusplus >= 201103L
|
649
648
|
#define ABSL_DEPRECATED(message) __attribute__((deprecated(message)))
|
650
649
|
#endif
|
651
650
|
|
@@ -679,4 +678,25 @@
|
|
679
678
|
#define ABSL_CONST_INIT
|
680
679
|
#endif // ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization)
|
681
680
|
|
681
|
+
// ABSL_ATTRIBUTE_PURE_FUNCTION
|
682
|
+
//
|
683
|
+
// ABSL_ATTRIBUTE_PURE_FUNCTION is used to annotate declarations of "pure"
|
684
|
+
// functions. A function is pure if its return value is only a function of its
|
685
|
+
// arguments. The pure attribute prohibits a function from modifying the state
|
686
|
+
// of the program that is observable by means other than inspecting the
|
687
|
+
// function's return value. Declaring such functions with the pure attribute
|
688
|
+
// allows the compiler to avoid emitting some calls in repeated invocations of
|
689
|
+
// the function with the same argument values.
|
690
|
+
//
|
691
|
+
// Example:
|
692
|
+
//
|
693
|
+
// ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Milliseconds(Duration d);
|
694
|
+
#if ABSL_HAVE_CPP_ATTRIBUTE(gnu::pure)
|
695
|
+
#define ABSL_ATTRIBUTE_PURE_FUNCTION [[gnu::pure]]
|
696
|
+
#elif ABSL_HAVE_ATTRIBUTE(pure)
|
697
|
+
#define ABSL_ATTRIBUTE_PURE_FUNCTION __attribute__((pure))
|
698
|
+
#else
|
699
|
+
#define ABSL_ATTRIBUTE_PURE_FUNCTION
|
700
|
+
#endif
|
701
|
+
|
682
702
|
#endif // ABSL_BASE_ATTRIBUTES_H_
|
@@ -177,15 +177,8 @@ void CallOnceImpl(std::atomic<uint32_t>* control,
|
|
177
177
|
scheduling_mode) == kOnceInit) {
|
178
178
|
base_internal::invoke(std::forward<Callable>(fn),
|
179
179
|
std::forward<Args>(args)...);
|
180
|
-
|
181
|
-
|
182
|
-
// sequence is slightly faster than an atomic exchange:
|
183
|
-
// old_control = control->exchange(base_internal::kOnceDone,
|
184
|
-
// std::memory_order_release);
|
185
|
-
// We opt for a slightly faster case when there are no waiters, in spite
|
186
|
-
// of longer tail latency when there are waiters.
|
187
|
-
old_control = control->load(std::memory_order_relaxed);
|
188
|
-
control->store(base_internal::kOnceDone, std::memory_order_release);
|
180
|
+
old_control =
|
181
|
+
control->exchange(base_internal::kOnceDone, std::memory_order_release);
|
189
182
|
if (old_control == base_internal::kOnceWaiter) {
|
190
183
|
base_internal::SpinLockWake(control, true);
|
191
184
|
}
|
@@ -121,10 +121,16 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
121
121
|
#if ABSL_OPTION_USE_INLINE_NAMESPACE == 0
|
122
122
|
#define ABSL_NAMESPACE_BEGIN
|
123
123
|
#define ABSL_NAMESPACE_END
|
124
|
+
#define ABSL_INTERNAL_C_SYMBOL(x) x
|
124
125
|
#elif ABSL_OPTION_USE_INLINE_NAMESPACE == 1
|
125
126
|
#define ABSL_NAMESPACE_BEGIN \
|
126
127
|
inline namespace ABSL_OPTION_INLINE_NAMESPACE_NAME {
|
127
128
|
#define ABSL_NAMESPACE_END }
|
129
|
+
#define ABSL_INTERNAL_C_SYMBOL_HELPER_2(x, v) x##_##v
|
130
|
+
#define ABSL_INTERNAL_C_SYMBOL_HELPER_1(x, v) \
|
131
|
+
ABSL_INTERNAL_C_SYMBOL_HELPER_2(x, v)
|
132
|
+
#define ABSL_INTERNAL_C_SYMBOL(x) \
|
133
|
+
ABSL_INTERNAL_C_SYMBOL_HELPER_1(x, ABSL_OPTION_INLINE_NAMESPACE_NAME)
|
128
134
|
#else
|
129
135
|
#error options.h is misconfigured.
|
130
136
|
#endif
|
@@ -216,6 +222,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
216
222
|
#if ABSL_INTERNAL_HAS_KEYWORD(__builtin_LINE) && \
|
217
223
|
ABSL_INTERNAL_HAS_KEYWORD(__builtin_FILE)
|
218
224
|
#define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1
|
225
|
+
#elif defined(__GNUC__) && __GNUC__ >= 5
|
226
|
+
#define ABSL_HAVE_SOURCE_LOCATION_CURRENT 1
|
219
227
|
#endif
|
220
228
|
#endif
|
221
229
|
|
@@ -364,7 +372,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
364
372
|
#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
|
365
373
|
defined(__ros__) || defined(__native_client__) || defined(__asmjs__) || \
|
366
374
|
defined(__wasm__) || defined(__Fuchsia__) || defined(__sun) || \
|
367
|
-
defined(__ASYLO__)
|
375
|
+
defined(__ASYLO__) || defined(__myriad2__)
|
368
376
|
#define ABSL_HAVE_MMAP 1
|
369
377
|
#endif
|
370
378
|
|
@@ -379,6 +387,15 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
379
387
|
#define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1
|
380
388
|
#endif
|
381
389
|
|
390
|
+
// ABSL_HAVE_SCHED_GETCPU
|
391
|
+
//
|
392
|
+
// Checks whether sched_getcpu is available.
|
393
|
+
#ifdef ABSL_HAVE_SCHED_GETCPU
|
394
|
+
#error ABSL_HAVE_SCHED_GETCPU cannot be directly set
|
395
|
+
#elif defined(__linux__)
|
396
|
+
#define ABSL_HAVE_SCHED_GETCPU 1
|
397
|
+
#endif
|
398
|
+
|
382
399
|
// ABSL_HAVE_SCHED_YIELD
|
383
400
|
//
|
384
401
|
// Checks whether the platform implements sched_yield(2) as defined in
|
@@ -490,7 +507,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
490
507
|
#endif
|
491
508
|
|
492
509
|
#ifdef __has_include
|
493
|
-
#if __has_include(<any>) && __cplusplus >= 201703L && \
|
510
|
+
#if __has_include(<any>) && defined(__cplusplus) && __cplusplus >= 201703L && \
|
494
511
|
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
495
512
|
#define ABSL_HAVE_STD_ANY 1
|
496
513
|
#endif
|
@@ -504,8 +521,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
504
521
|
#endif
|
505
522
|
|
506
523
|
#ifdef __has_include
|
507
|
-
#if __has_include(<optional>) && __cplusplus
|
508
|
-
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
524
|
+
#if __has_include(<optional>) && defined(__cplusplus) && \
|
525
|
+
__cplusplus >= 201703L && !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
509
526
|
#define ABSL_HAVE_STD_OPTIONAL 1
|
510
527
|
#endif
|
511
528
|
#endif
|
@@ -518,8 +535,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
518
535
|
#endif
|
519
536
|
|
520
537
|
#ifdef __has_include
|
521
|
-
#if __has_include(<variant>) && __cplusplus
|
522
|
-
!ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
538
|
+
#if __has_include(<variant>) && defined(__cplusplus) && \
|
539
|
+
__cplusplus >= 201703L && !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
|
523
540
|
#define ABSL_HAVE_STD_VARIANT 1
|
524
541
|
#endif
|
525
542
|
#endif
|
@@ -532,7 +549,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
532
549
|
#endif
|
533
550
|
|
534
551
|
#ifdef __has_include
|
535
|
-
#if __has_include(<string_view>) && __cplusplus
|
552
|
+
#if __has_include(<string_view>) && defined(__cplusplus) && \
|
553
|
+
__cplusplus >= 201703L
|
536
554
|
#define ABSL_HAVE_STD_STRING_VIEW 1
|
537
555
|
#endif
|
538
556
|
#endif
|
@@ -544,8 +562,9 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
544
562
|
// not correctly set by MSVC, so we use `_MSVC_LANG` to check the language
|
545
563
|
// version.
|
546
564
|
// TODO(zhangxy): fix tests before enabling aliasing for `std::any`.
|
547
|
-
#if defined(_MSC_VER) && _MSC_VER >= 1910 &&
|
548
|
-
((defined(_MSVC_LANG) && _MSVC_LANG > 201402) ||
|
565
|
+
#if defined(_MSC_VER) && _MSC_VER >= 1910 && \
|
566
|
+
((defined(_MSVC_LANG) && _MSVC_LANG > 201402) || \
|
567
|
+
(defined(__cplusplus) && __cplusplus > 201402))
|
549
568
|
// #define ABSL_HAVE_STD_ANY 1
|
550
569
|
#define ABSL_HAVE_STD_OPTIONAL 1
|
551
570
|
#define ABSL_HAVE_STD_VARIANT 1
|
@@ -711,4 +730,13 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' ||
|
|
711
730
|
#define ABSL_HAVE_ADDRESS_SANITIZER 1
|
712
731
|
#endif
|
713
732
|
|
733
|
+
// ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
|
734
|
+
//
|
735
|
+
// Class template argument deduction is a language feature added in C++17.
|
736
|
+
#ifdef ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION
|
737
|
+
#error "ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION cannot be directly set."
|
738
|
+
#elif defined(__cpp_deduction_guides)
|
739
|
+
#define ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION 1
|
740
|
+
#endif
|
741
|
+
|
714
742
|
#endif // ABSL_BASE_CONFIG_H_
|
@@ -110,6 +110,9 @@
|
|
110
110
|
// Define race annotations.
|
111
111
|
|
112
112
|
#if ABSL_INTERNAL_RACE_ANNOTATIONS_ENABLED == 1
|
113
|
+
// Some of the symbols used in this section (e.g. AnnotateBenignRaceSized) are
|
114
|
+
// defined by the compiler-based santizer implementation, not by the Abseil
|
115
|
+
// library. Therefore they do not use ABSL_INTERNAL_C_SYMBOL.
|
113
116
|
|
114
117
|
// -------------------------------------------------------------
|
115
118
|
// Annotations that suppress errors. It is usually better to express the
|
@@ -286,17 +289,22 @@ ABSL_INTERNAL_END_EXTERN_C
|
|
286
289
|
// Define IGNORE_READS_BEGIN/_END annotations.
|
287
290
|
|
288
291
|
#if ABSL_INTERNAL_READS_ANNOTATIONS_ENABLED == 1
|
292
|
+
// Some of the symbols used in this section (e.g. AnnotateIgnoreReadsBegin) are
|
293
|
+
// defined by the compiler-based implementation, not by the Abseil
|
294
|
+
// library. Therefore they do not use ABSL_INTERNAL_C_SYMBOL.
|
289
295
|
|
290
296
|
// Request the analysis tool to ignore all reads in the current thread until
|
291
297
|
// ABSL_ANNOTATE_IGNORE_READS_END is called. Useful to ignore intentional racey
|
292
298
|
// reads, while still checking other reads and all writes.
|
293
299
|
// See also ABSL_ANNOTATE_UNPROTECTED_READ.
|
294
|
-
#define ABSL_ANNOTATE_IGNORE_READS_BEGIN()
|
295
|
-
ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsBegin)
|
300
|
+
#define ABSL_ANNOTATE_IGNORE_READS_BEGIN() \
|
301
|
+
ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsBegin) \
|
302
|
+
(__FILE__, __LINE__)
|
296
303
|
|
297
304
|
// Stop ignoring reads.
|
298
|
-
#define ABSL_ANNOTATE_IGNORE_READS_END()
|
299
|
-
ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsEnd)
|
305
|
+
#define ABSL_ANNOTATE_IGNORE_READS_END() \
|
306
|
+
ABSL_INTERNAL_GLOBAL_SCOPED(AnnotateIgnoreReadsEnd) \
|
307
|
+
(__FILE__, __LINE__)
|
300
308
|
|
301
309
|
// Function prototypes of annotations provided by the compiler-based sanitizer
|
302
310
|
// implementation.
|
@@ -316,16 +324,22 @@ ABSL_INTERNAL_END_EXTERN_C
|
|
316
324
|
// TODO(delesley) -- The exclusive lock here ignores writes as well, but
|
317
325
|
// allows IGNORE_READS_AND_WRITES to work properly.
|
318
326
|
|
319
|
-
#define ABSL_ANNOTATE_IGNORE_READS_BEGIN()
|
320
|
-
ABSL_INTERNAL_GLOBAL_SCOPED(
|
327
|
+
#define ABSL_ANNOTATE_IGNORE_READS_BEGIN() \
|
328
|
+
ABSL_INTERNAL_GLOBAL_SCOPED( \
|
329
|
+
ABSL_INTERNAL_C_SYMBOL(AbslInternalAnnotateIgnoreReadsBegin)) \
|
330
|
+
()
|
321
331
|
|
322
|
-
#define ABSL_ANNOTATE_IGNORE_READS_END()
|
323
|
-
ABSL_INTERNAL_GLOBAL_SCOPED(
|
332
|
+
#define ABSL_ANNOTATE_IGNORE_READS_END() \
|
333
|
+
ABSL_INTERNAL_GLOBAL_SCOPED( \
|
334
|
+
ABSL_INTERNAL_C_SYMBOL(AbslInternalAnnotateIgnoreReadsEnd)) \
|
335
|
+
()
|
324
336
|
|
325
|
-
ABSL_INTERNAL_STATIC_INLINE void
|
337
|
+
ABSL_INTERNAL_STATIC_INLINE void ABSL_INTERNAL_C_SYMBOL(
|
338
|
+
AbslInternalAnnotateIgnoreReadsBegin)()
|
326
339
|
ABSL_INTERNAL_IGNORE_READS_BEGIN_ATTRIBUTE {}
|
327
340
|
|
328
|
-
ABSL_INTERNAL_STATIC_INLINE void
|
341
|
+
ABSL_INTERNAL_STATIC_INLINE void ABSL_INTERNAL_C_SYMBOL(
|
342
|
+
AbslInternalAnnotateIgnoreReadsEnd)()
|
329
343
|
ABSL_INTERNAL_IGNORE_READS_END_ATTRIBUTE {}
|
330
344
|
|
331
345
|
#else
|
@@ -74,10 +74,13 @@ namespace base_internal {
|
|
74
74
|
inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
|
75
75
|
off64_t offset) noexcept {
|
76
76
|
#if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
|
77
|
+
defined(__m68k__) || defined(__sh__) || \
|
78
|
+
(defined(__hppa__) && !defined(__LP64__)) || \
|
77
79
|
(defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \
|
78
80
|
(defined(__PPC__) && !defined(__PPC64__)) || \
|
79
81
|
(defined(__riscv) && __riscv_xlen == 32) || \
|
80
|
-
(defined(__s390__) && !defined(__s390x__))
|
82
|
+
(defined(__s390__) && !defined(__s390x__)) || \
|
83
|
+
(defined(__sparc__) && !defined(__arch64__))
|
81
84
|
// On these architectures, implement mmap with mmap2.
|
82
85
|
static int pagesize = 0;
|
83
86
|
if (pagesize == 0) {
|
@@ -26,6 +26,7 @@
|
|
26
26
|
#endif
|
27
27
|
|
28
28
|
#include <cstdint>
|
29
|
+
#include "absl/base/casts.h"
|
29
30
|
#include "absl/base/config.h"
|
30
31
|
#include "absl/base/internal/unaligned_access.h"
|
31
32
|
#include "absl/base/port.h"
|
@@ -173,6 +174,36 @@ inline constexpr bool IsLittleEndian() { return false; }
|
|
173
174
|
|
174
175
|
#endif /* ENDIAN */
|
175
176
|
|
177
|
+
inline uint8_t FromHost(uint8_t x) { return x; }
|
178
|
+
inline uint16_t FromHost(uint16_t x) { return FromHost16(x); }
|
179
|
+
inline uint32_t FromHost(uint32_t x) { return FromHost32(x); }
|
180
|
+
inline uint64_t FromHost(uint64_t x) { return FromHost64(x); }
|
181
|
+
inline uint8_t ToHost(uint8_t x) { return x; }
|
182
|
+
inline uint16_t ToHost(uint16_t x) { return ToHost16(x); }
|
183
|
+
inline uint32_t ToHost(uint32_t x) { return ToHost32(x); }
|
184
|
+
inline uint64_t ToHost(uint64_t x) { return ToHost64(x); }
|
185
|
+
|
186
|
+
inline int8_t FromHost(int8_t x) { return x; }
|
187
|
+
inline int16_t FromHost(int16_t x) {
|
188
|
+
return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
|
189
|
+
}
|
190
|
+
inline int32_t FromHost(int32_t x) {
|
191
|
+
return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
|
192
|
+
}
|
193
|
+
inline int64_t FromHost(int64_t x) {
|
194
|
+
return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
|
195
|
+
}
|
196
|
+
inline int8_t ToHost(int8_t x) { return x; }
|
197
|
+
inline int16_t ToHost(int16_t x) {
|
198
|
+
return bit_cast<int16_t>(ToHost16(bit_cast<uint16_t>(x)));
|
199
|
+
}
|
200
|
+
inline int32_t ToHost(int32_t x) {
|
201
|
+
return bit_cast<int32_t>(ToHost32(bit_cast<uint32_t>(x)));
|
202
|
+
}
|
203
|
+
inline int64_t ToHost(int64_t x) {
|
204
|
+
return bit_cast<int64_t>(ToHost64(bit_cast<uint64_t>(x)));
|
205
|
+
}
|
206
|
+
|
176
207
|
// Functions to do unaligned loads and stores in little-endian order.
|
177
208
|
inline uint16_t Load16(const void *p) {
|
178
209
|
return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
|
@@ -233,6 +264,36 @@ inline constexpr bool IsLittleEndian() { return false; }
|
|
233
264
|
|
234
265
|
#endif /* ENDIAN */
|
235
266
|
|
267
|
+
inline uint8_t FromHost(uint8_t x) { return x; }
|
268
|
+
inline uint16_t FromHost(uint16_t x) { return FromHost16(x); }
|
269
|
+
inline uint32_t FromHost(uint32_t x) { return FromHost32(x); }
|
270
|
+
inline uint64_t FromHost(uint64_t x) { return FromHost64(x); }
|
271
|
+
inline uint8_t ToHost(uint8_t x) { return x; }
|
272
|
+
inline uint16_t ToHost(uint16_t x) { return ToHost16(x); }
|
273
|
+
inline uint32_t ToHost(uint32_t x) { return ToHost32(x); }
|
274
|
+
inline uint64_t ToHost(uint64_t x) { return ToHost64(x); }
|
275
|
+
|
276
|
+
inline int8_t FromHost(int8_t x) { return x; }
|
277
|
+
inline int16_t FromHost(int16_t x) {
|
278
|
+
return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
|
279
|
+
}
|
280
|
+
inline int32_t FromHost(int32_t x) {
|
281
|
+
return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
|
282
|
+
}
|
283
|
+
inline int64_t FromHost(int64_t x) {
|
284
|
+
return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
|
285
|
+
}
|
286
|
+
inline int8_t ToHost(int8_t x) { return x; }
|
287
|
+
inline int16_t ToHost(int16_t x) {
|
288
|
+
return bit_cast<int16_t>(ToHost16(bit_cast<uint16_t>(x)));
|
289
|
+
}
|
290
|
+
inline int32_t ToHost(int32_t x) {
|
291
|
+
return bit_cast<int32_t>(ToHost32(bit_cast<uint32_t>(x)));
|
292
|
+
}
|
293
|
+
inline int64_t ToHost(int64_t x) {
|
294
|
+
return bit_cast<int64_t>(ToHost64(bit_cast<uint64_t>(x)));
|
295
|
+
}
|
296
|
+
|
236
297
|
// Functions to do unaligned loads and stores in big-endian order.
|
237
298
|
inline uint16_t Load16(const void *p) {
|
238
299
|
return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
|
@@ -61,6 +61,8 @@ class SchedulingGuard {
|
|
61
61
|
public:
|
62
62
|
// Returns true iff the calling thread may be cooperatively rescheduled.
|
63
63
|
static bool ReschedulingIsAllowed();
|
64
|
+
SchedulingGuard(const SchedulingGuard&) = delete;
|
65
|
+
SchedulingGuard& operator=(const SchedulingGuard&) = delete;
|
64
66
|
|
65
67
|
private:
|
66
68
|
// Disable cooperative rescheduling of the calling thread. It may still
|
@@ -101,9 +103,6 @@ class SchedulingGuard {
|
|
101
103
|
friend class SchedulingHelper;
|
102
104
|
friend class SpinLock;
|
103
105
|
friend int absl::synchronization_internal::MutexDelay(int32_t c, int mode);
|
104
|
-
|
105
|
-
SchedulingGuard(const SchedulingGuard&) = delete;
|
106
|
-
SchedulingGuard& operator=(const SchedulingGuard&) = delete;
|
107
106
|
};
|
108
107
|
|
109
108
|
//------------------------------------------------------------------------------
|