grpc 1.73.0 → 1.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +38 -17
- data/include/grpc/create_channel_from_endpoint.h +54 -0
- data/include/grpc/credentials.h +11 -5
- data/include/grpc/event_engine/event_engine.h +74 -17
- data/include/grpc/grpc_posix.h +20 -1
- data/include/grpc/impl/channel_arg_names.h +2 -4
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/support/json.h +24 -0
- data/src/core/call/interception_chain.h +7 -11
- data/src/core/channelz/channel_trace.cc +213 -115
- data/src/core/channelz/channel_trace.h +380 -86
- data/src/core/channelz/channelz.cc +270 -181
- data/src/core/channelz/channelz.h +168 -55
- data/src/core/channelz/channelz_registry.cc +2 -1
- data/src/core/channelz/channelz_registry.h +24 -0
- data/src/core/channelz/property_list.cc +357 -0
- data/src/core/channelz/property_list.h +202 -0
- data/src/core/channelz/ztrace_collector.h +3 -2
- data/src/core/client_channel/backup_poller.cc +17 -2
- data/src/core/client_channel/client_channel.cc +17 -28
- data/src/core/client_channel/client_channel_filter.cc +19 -29
- data/src/core/client_channel/config_selector.h +8 -2
- data/src/core/client_channel/dynamic_filters.cc +5 -6
- data/src/core/client_channel/dynamic_filters.h +1 -1
- data/src/core/client_channel/global_subchannel_pool.cc +4 -1
- data/src/core/client_channel/retry_filter.cc +21 -27
- data/src/core/client_channel/retry_filter.h +10 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
- data/src/core/client_channel/retry_filter_legacy_call_data.h +1 -1
- data/src/core/client_channel/retry_interceptor.cc +30 -44
- data/src/core/client_channel/retry_interceptor.h +18 -17
- data/src/core/client_channel/retry_throttle.cc +46 -61
- data/src/core/client_channel/retry_throttle.h +17 -39
- data/src/core/client_channel/subchannel.cc +43 -19
- data/src/core/client_channel/subchannel.h +8 -0
- data/src/core/config/config_vars.cc +2 -0
- data/src/core/config/core_configuration.cc +1 -0
- data/src/core/config/core_configuration.h +11 -0
- data/src/core/credentials/call/call_creds_registry.h +125 -0
- data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
- data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +6 -48
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
- data/src/core/credentials/call/jwt_util.cc +70 -0
- data/src/core/credentials/call/jwt_util.h +32 -0
- data/src/core/credentials/transport/channel_creds_registry_init.cc +1 -1
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +72 -4
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +0 -1
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -0
- data/src/core/credentials/transport/xds/xds_credentials.cc +0 -3
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +8 -8
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +16 -16
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -4
- data/src/core/ext/filters/http/message_compress/compression_filter.h +25 -22
- data/src/core/ext/filters/http/server/http_server_filter.h +12 -11
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +120 -35
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +162 -115
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -3
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
- data/src/core/ext/transport/chttp2/transport/flow_control.h +22 -17
- data/src/core/ext/transport/chttp2/transport/frame.cc +10 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +299 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +12 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1017 -0
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +593 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +19 -22
- data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
- data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
- data/src/core/ext/transport/chttp2/transport/http2_status.h +6 -1
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +43 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +65 -0
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +0 -29
- data/src/core/ext/transport/chttp2/transport/internal.h +18 -8
- data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
- data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +151 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +180 -0
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +5 -9
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +11 -0
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
- data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +37 -11
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +984 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +226 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +135 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
- data/src/core/filter/auth/auth_filters.h +0 -25
- data/src/core/filter/auth/client_auth_filter.cc +0 -118
- data/src/core/filter/filter_args.h +9 -23
- data/src/core/handshaker/handshaker.cc +23 -14
- data/src/core/handshaker/handshaker.h +3 -0
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +6 -5
- data/src/core/handshaker/security/secure_endpoint.cc +70 -25
- data/src/core/handshaker/security/security_handshaker.cc +4 -1
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
- data/src/core/lib/channel/channel_args.cc +15 -0
- data/src/core/lib/channel/channel_args.h +3 -0
- data/src/core/lib/channel/channel_stack.cc +22 -23
- data/src/core/lib/channel/channel_stack.h +9 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
- data/src/core/lib/channel/promise_based_filter.h +5 -5
- data/src/core/lib/debug/trace_impl.h +0 -1
- data/src/core/lib/event_engine/ares_resolver.cc +165 -46
- data/src/core/lib/event_engine/ares_resolver.h +48 -2
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +3 -1
- data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -4
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +2 -6
- data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
- data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
- data/src/core/lib/event_engine/event_engine.cc +7 -0
- data/src/core/lib/event_engine/extensions/channelz.h +10 -6
- data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +130 -162
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +11 -15
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +75 -117
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +7 -9
- data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -15
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +0 -18
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +29 -19
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +145 -92
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -19
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +333 -116
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +61 -18
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +45 -37
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -142
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +6 -5
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -719
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -170
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -62
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
- data/src/core/lib/event_engine/shim.cc +9 -0
- data/src/core/lib/event_engine/shim.h +3 -0
- data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
- data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +4 -2
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -2
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +4 -0
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.h +2 -6
- data/src/core/lib/event_engine/windows/windows_engine.cc +0 -1
- data/src/core/lib/event_engine/windows/windows_engine.h +1 -3
- data/src/core/lib/event_engine/windows/windows_listener.cc +14 -2
- data/src/core/lib/experiments/experiments.cc +45 -93
- data/src/core/lib/experiments/experiments.h +21 -51
- data/src/core/lib/iomgr/endpoint.cc +4 -3
- data/src/core/lib/iomgr/endpoint.h +7 -4
- data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +7 -2
- data/src/core/lib/iomgr/ev_poll_posix.cc +7 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +4 -6
- data/src/core/lib/iomgr/tcp_posix.cc +12 -6
- data/src/core/lib/iomgr/tcp_windows.cc +3 -2
- data/src/core/lib/promise/activity.h +1 -0
- data/src/core/lib/promise/arena_promise.h +23 -7
- data/src/core/lib/promise/detail/promise_factory.h +10 -0
- data/src/core/lib/promise/detail/promise_like.h +118 -11
- data/src/core/lib/promise/detail/promise_variant.h +50 -0
- data/src/core/lib/promise/detail/seq_state.h +687 -548
- data/src/core/lib/promise/if.h +20 -0
- data/src/core/lib/promise/inter_activity_latch.h +147 -0
- data/src/core/lib/promise/inter_activity_mutex.h +547 -0
- data/src/core/lib/promise/loop.h +65 -3
- data/src/core/lib/promise/map.h +24 -0
- data/src/core/lib/promise/match_promise.h +103 -0
- data/src/core/lib/promise/mpsc.cc +425 -0
- data/src/core/lib/promise/mpsc.h +490 -0
- data/src/core/lib/promise/party.cc +50 -1
- data/src/core/lib/promise/party.h +66 -1
- data/src/core/lib/promise/race.h +31 -0
- data/src/core/lib/promise/seq.h +4 -1
- data/src/core/lib/promise/status_flag.h +7 -0
- data/src/core/lib/promise/try_seq.h +4 -1
- data/src/core/lib/promise/wait_set.cc +28 -0
- data/src/core/lib/promise/wait_set.h +86 -0
- data/src/core/lib/resource_quota/arena.h +19 -0
- data/src/core/lib/slice/slice.h +5 -0
- data/src/core/lib/surface/channel_create.cc +88 -13
- data/src/core/lib/surface/channel_create.h +4 -0
- data/src/core/lib/surface/channel_init.cc +164 -47
- data/src/core/lib/surface/channel_init.h +64 -1
- data/src/core/lib/surface/filter_stack_call.cc +18 -9
- data/src/core/lib/surface/init.cc +6 -15
- data/src/core/lib/surface/legacy_channel.cc +3 -5
- data/src/core/lib/surface/legacy_channel.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.cc +110 -0
- data/src/core/lib/transport/promise_endpoint.h +307 -0
- data/src/core/load_balancing/child_policy_handler.cc +2 -4
- data/src/core/load_balancing/delegating_helper.h +2 -3
- data/src/core/load_balancing/health_check_client.cc +1 -5
- data/src/core/load_balancing/lb_policy.h +1 -3
- data/src/core/load_balancing/oob_backend_metric.cc +1 -5
- data/src/core/load_balancing/pick_first/pick_first.cc +3 -0
- data/src/core/load_balancing/xds/cds.cc +10 -1
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
- data/src/core/resolver/xds/xds_config.cc +6 -3
- data/src/core/resolver/xds/xds_config.h +9 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +21 -6
- data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
- data/src/core/resolver/xds/xds_resolver.cc +31 -11
- data/src/core/server/server.cc +83 -12
- data/src/core/server/server.h +21 -2
- data/src/core/server/xds_server_config_fetcher.cc +63 -25
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/telemetry/context_list_entry.cc +38 -0
- data/src/core/telemetry/context_list_entry.h +42 -12
- data/src/core/telemetry/stats_data.cc +233 -207
- data/src/core/telemetry/stats_data.h +250 -153
- data/src/core/telemetry/tcp_tracer.h +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
- data/src/core/tsi/fake_transport_security.cc +17 -0
- data/src/core/tsi/ssl_transport_security.cc +2 -0
- data/src/core/tsi/transport_security_grpc.cc +8 -0
- data/src/core/tsi/transport_security_grpc.h +15 -0
- data/src/core/util/backoff.cc +1 -5
- data/src/core/util/backoff.h +1 -0
- data/src/core/util/down_cast.h +1 -1
- data/src/core/util/function_signature.h +15 -1
- data/src/core/util/http_client/httpcli.cc +12 -5
- data/src/core/util/http_client/httpcli.h +4 -1
- data/src/core/util/latent_see.h +8 -5
- data/src/core/util/log.cc +4 -0
- data/src/core/util/memory_usage.h +268 -0
- data/src/core/util/per_cpu.cc +2 -0
- data/src/core/util/per_cpu.h +7 -0
- data/src/core/util/shared_bit_gen.h +20 -0
- data/src/core/util/single_set_ptr.h +2 -2
- data/src/core/util/upb_utils.h +42 -0
- data/src/core/util/uri.cc +3 -2
- data/src/core/util/useful.h +53 -2
- data/src/core/util/wait_for_single_owner.cc +31 -0
- data/src/core/util/wait_for_single_owner.h +24 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
- data/src/core/xds/grpc/xds_client_grpc.cc +6 -2
- data/src/core/xds/grpc/xds_common_types_parser.cc +138 -50
- data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
- data/src/core/xds/grpc/xds_http_filter.h +7 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
- data/src/core/xds/grpc/xds_route_config_parser.cc +15 -38
- data/src/core/xds/grpc/xds_server_grpc.cc +63 -13
- data/src/core/xds/grpc/xds_server_grpc.h +10 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +4 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +18 -0
- data/src/core/xds/xds_client/xds_bootstrap.h +2 -0
- data/src/core/xds/xds_client/xds_client.cc +26 -5
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_call.c +1 -8
- data/src/ruby/ext/grpc/rb_channel.c +72 -568
- data/src/ruby/ext/grpc/rb_channel.h +0 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
- data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
- data/src/ruby/ext/grpc/rb_grpc.c +9 -5
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
- data/src/ruby/ext/grpc/rb_loader.c +0 -4
- data/src/ruby/ext/grpc/rb_server.c +31 -50
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/core_spec.rb +22 -0
- data/src/ruby/spec/generic/active_call_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/container.h +2 -19
- data/third_party/abseil-cpp/absl/base/attributes.h +76 -7
- data/third_party/abseil-cpp/absl/base/call_once.h +11 -12
- data/third_party/abseil-cpp/absl/base/config.h +20 -129
- data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
- data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
- data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
- data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
- data/third_party/abseil-cpp/absl/base/internal/{nullability_impl.h → nullability_deprecated.h} +45 -8
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
- data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
- data/third_party/abseil-cpp/absl/base/nullability.h +84 -72
- data/third_party/abseil-cpp/absl/base/options.h +3 -80
- data/third_party/abseil-cpp/absl/base/policy_checks.h +7 -7
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
- data/third_party/abseil-cpp/absl/container/btree_map.h +4 -2
- data/third_party/abseil-cpp/absl/container/btree_set.h +4 -2
- data/third_party/abseil-cpp/absl/container/fixed_array.h +7 -14
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -0
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -1
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +8 -5
- data/third_party/abseil-cpp/absl/container/internal/btree.h +132 -29
- data/third_party/abseil-cpp/absl/container/internal/btree_container.h +175 -71
- data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
- data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +9 -10
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
- data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
- data/third_party/abseil-cpp/absl/container/internal/layout.h +26 -42
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1354 -183
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +881 -1424
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
- data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
- data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
- data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
- data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
- data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
- data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
- data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +19 -9
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +2 -2
- data/third_party/abseil-cpp/absl/flags/flag.h +4 -3
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -1
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +7 -6
- data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
- data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
- data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
- data/third_party/abseil-cpp/absl/hash/hash.h +18 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -5
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -61
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +25 -68
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
- data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
- data/third_party/abseil-cpp/absl/log/check.h +2 -1
- data/third_party/abseil-cpp/absl/log/globals.h +4 -5
- data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +22 -22
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +65 -62
- data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +85 -43
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +84 -59
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -2
- data/third_party/abseil-cpp/absl/log/internal/proto.h +3 -3
- data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
- data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
- data/third_party/abseil-cpp/absl/log/log.h +48 -35
- data/third_party/abseil-cpp/absl/log/log_sink_registry.h +2 -2
- data/third_party/abseil-cpp/absl/meta/type_traits.h +46 -175
- data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
- data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
- data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
- data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
- data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
- data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
- data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
- data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
- data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
- data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
- data/third_party/abseil-cpp/absl/random/random.h +88 -53
- data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
- data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
- data/third_party/abseil-cpp/absl/status/status.cc +4 -8
- data/third_party/abseil-cpp/absl/status/status.h +8 -8
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
- data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
- data/third_party/abseil-cpp/absl/strings/ascii.cc +9 -9
- data/third_party/abseil-cpp/absl/strings/ascii.h +18 -18
- data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -22
- data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
- data/third_party/abseil-cpp/absl/strings/cord.h +94 -83
- data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
- data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
- data/third_party/abseil-cpp/absl/strings/escaping.cc +130 -149
- data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +6 -8
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
- data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
- data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
- data/third_party/abseil-cpp/absl/strings/numbers.cc +53 -32
- data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
- data/third_party/abseil-cpp/absl/strings/str_cat.h +32 -32
- data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
- data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
- data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
- data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
- data/third_party/abseil-cpp/absl/strings/string_view.h +27 -32
- data/third_party/abseil-cpp/absl/strings/strip.h +4 -4
- data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
- data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
- data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
- data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
- data/third_party/abseil-cpp/absl/synchronization/notification.h +1 -1
- data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +12 -7
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
- data/third_party/abseil-cpp/absl/time/time.h +20 -15
- data/third_party/abseil-cpp/absl/types/optional.h +7 -747
- data/third_party/abseil-cpp/absl/types/span.h +13 -11
- data/third_party/abseil-cpp/absl/types/variant.h +5 -784
- data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
- metadata +72 -20
- data/src/core/lib/event_engine/forkable.cc +0 -105
- data/src/core/lib/event_engine/forkable.h +0 -67
- data/src/core/lib/iomgr/python_util.h +0 -46
- data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
- data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
- data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
- data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
- data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
- data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
- data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
- data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
- data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
@@ -106,7 +106,7 @@ class Arg {
|
|
106
106
|
// Overloads for string-y things
|
107
107
|
//
|
108
108
|
// Explicitly overload `const char*` so the compiler doesn't cast to `bool`.
|
109
|
-
Arg(
|
109
|
+
Arg(const char* absl_nullable value) // NOLINT(google-explicit-constructor)
|
110
110
|
: piece_(absl::NullSafeStringView(value)) {}
|
111
111
|
template <typename Allocator>
|
112
112
|
Arg( // NOLINT
|
@@ -187,19 +187,20 @@ class Arg {
|
|
187
187
|
|
188
188
|
// vector<bool>::reference and const_reference require special help to convert
|
189
189
|
// to `Arg` because it requires two user defined conversions.
|
190
|
-
template <
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
190
|
+
template <
|
191
|
+
typename T,
|
192
|
+
std::enable_if_t<
|
193
|
+
std::is_class<T>::value &&
|
194
|
+
(std::is_same<T, std::vector<bool>::reference>::value ||
|
195
|
+
std::is_same<T, std::vector<bool>::const_reference>::value),
|
196
|
+
bool> = true>
|
196
197
|
Arg(T value) // NOLINT(google-explicit-constructor)
|
197
198
|
: Arg(static_cast<bool>(value)) {}
|
198
199
|
|
199
200
|
// `void*` values, with the exception of `char*`, are printed as
|
200
201
|
// "0x<hex value>". However, in the case of `nullptr`, "NULL" is printed.
|
201
202
|
Arg( // NOLINT(google-explicit-constructor)
|
202
|
-
|
203
|
+
const void* absl_nullable value);
|
203
204
|
|
204
205
|
// Normal enums are already handled by the integer formatters.
|
205
206
|
// This overload matches only scoped enums.
|
@@ -222,12 +223,13 @@ class Arg {
|
|
222
223
|
|
223
224
|
// Internal helper function. Don't call this from outside this implementation.
|
224
225
|
// This interface may change without notice.
|
225
|
-
void SubstituteAndAppendArray(
|
226
|
-
|
227
|
-
|
226
|
+
void SubstituteAndAppendArray(std::string* absl_nonnull output,
|
227
|
+
absl::string_view format,
|
228
|
+
const absl::string_view* absl_nullable args_array,
|
229
|
+
size_t num_args);
|
228
230
|
|
229
231
|
#if defined(ABSL_BAD_CALL_IF)
|
230
|
-
constexpr int CalculateOneBit(
|
232
|
+
constexpr int CalculateOneBit(const char* absl_nonnull format) {
|
231
233
|
// Returns:
|
232
234
|
// * 2^N for '$N' when N is in [0-9]
|
233
235
|
// * 0 for correct '$' escaping: '$$'.
|
@@ -236,11 +238,11 @@ constexpr int CalculateOneBit(absl::Nonnull<const char*> format) {
|
|
236
238
|
: (1 << (*format - '0'));
|
237
239
|
}
|
238
240
|
|
239
|
-
constexpr const char* SkipNumber(
|
241
|
+
constexpr const char* absl_nonnull SkipNumber(const char* absl_nonnull format) {
|
240
242
|
return !*format ? format : (format + 1);
|
241
243
|
}
|
242
244
|
|
243
|
-
constexpr int PlaceholderBitmask(
|
245
|
+
constexpr int PlaceholderBitmask(const char* absl_nonnull format) {
|
244
246
|
return !*format
|
245
247
|
? 0
|
246
248
|
: *format != '$' ? PlaceholderBitmask(format + 1)
|
@@ -273,12 +275,12 @@ constexpr int PlaceholderBitmask(absl::Nonnull<const char*> format) {
|
|
273
275
|
// absl::SubstituteAndAppend(boilerplate, format, args...);
|
274
276
|
// }
|
275
277
|
//
|
276
|
-
inline void SubstituteAndAppend(
|
278
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
277
279
|
absl::string_view format) {
|
278
280
|
substitute_internal::SubstituteAndAppendArray(output, format, nullptr, 0);
|
279
281
|
}
|
280
282
|
|
281
|
-
inline void SubstituteAndAppend(
|
283
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
282
284
|
absl::string_view format,
|
283
285
|
const substitute_internal::Arg& a0) {
|
284
286
|
const absl::string_view args[] = {a0.piece()};
|
@@ -286,7 +288,7 @@ inline void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
286
288
|
ABSL_ARRAYSIZE(args));
|
287
289
|
}
|
288
290
|
|
289
|
-
inline void SubstituteAndAppend(
|
291
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
290
292
|
absl::string_view format,
|
291
293
|
const substitute_internal::Arg& a0,
|
292
294
|
const substitute_internal::Arg& a1) {
|
@@ -295,7 +297,7 @@ inline void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
295
297
|
ABSL_ARRAYSIZE(args));
|
296
298
|
}
|
297
299
|
|
298
|
-
inline void SubstituteAndAppend(
|
300
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
299
301
|
absl::string_view format,
|
300
302
|
const substitute_internal::Arg& a0,
|
301
303
|
const substitute_internal::Arg& a1,
|
@@ -305,7 +307,7 @@ inline void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
305
307
|
ABSL_ARRAYSIZE(args));
|
306
308
|
}
|
307
309
|
|
308
|
-
inline void SubstituteAndAppend(
|
310
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
309
311
|
absl::string_view format,
|
310
312
|
const substitute_internal::Arg& a0,
|
311
313
|
const substitute_internal::Arg& a1,
|
@@ -317,7 +319,7 @@ inline void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
317
319
|
ABSL_ARRAYSIZE(args));
|
318
320
|
}
|
319
321
|
|
320
|
-
inline void SubstituteAndAppend(
|
322
|
+
inline void SubstituteAndAppend(std::string* absl_nonnull output,
|
321
323
|
absl::string_view format,
|
322
324
|
const substitute_internal::Arg& a0,
|
323
325
|
const substitute_internal::Arg& a1,
|
@@ -331,7 +333,7 @@ inline void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
331
333
|
}
|
332
334
|
|
333
335
|
inline void SubstituteAndAppend(
|
334
|
-
|
336
|
+
std::string* absl_nonnull output, absl::string_view format,
|
335
337
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
336
338
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
337
339
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5) {
|
@@ -342,7 +344,7 @@ inline void SubstituteAndAppend(
|
|
342
344
|
}
|
343
345
|
|
344
346
|
inline void SubstituteAndAppend(
|
345
|
-
|
347
|
+
std::string* absl_nonnull output, absl::string_view format,
|
346
348
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
347
349
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
348
350
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -355,7 +357,7 @@ inline void SubstituteAndAppend(
|
|
355
357
|
}
|
356
358
|
|
357
359
|
inline void SubstituteAndAppend(
|
358
|
-
|
360
|
+
std::string* absl_nonnull output, absl::string_view format,
|
359
361
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
360
362
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
361
363
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -368,7 +370,7 @@ inline void SubstituteAndAppend(
|
|
368
370
|
}
|
369
371
|
|
370
372
|
inline void SubstituteAndAppend(
|
371
|
-
|
373
|
+
std::string* absl_nonnull output, absl::string_view format,
|
372
374
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
373
375
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
374
376
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -382,7 +384,7 @@ inline void SubstituteAndAppend(
|
|
382
384
|
}
|
383
385
|
|
384
386
|
inline void SubstituteAndAppend(
|
385
|
-
|
387
|
+
std::string* absl_nonnull output, absl::string_view format,
|
386
388
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
387
389
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
388
390
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -398,16 +400,16 @@ inline void SubstituteAndAppend(
|
|
398
400
|
#if defined(ABSL_BAD_CALL_IF)
|
399
401
|
// This body of functions catches cases where the number of placeholders
|
400
402
|
// doesn't match the number of data arguments.
|
401
|
-
void SubstituteAndAppend(
|
402
|
-
|
403
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
404
|
+
const char* absl_nonnull format)
|
403
405
|
ABSL_BAD_CALL_IF(
|
404
406
|
substitute_internal::PlaceholderBitmask(format) != 0,
|
405
407
|
"There were no substitution arguments "
|
406
408
|
"but this format string either has a $[0-9] in it or contains "
|
407
409
|
"an unescaped $ character (use $$ instead)");
|
408
410
|
|
409
|
-
void SubstituteAndAppend(
|
410
|
-
|
411
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
412
|
+
const char* absl_nonnull format,
|
411
413
|
const substitute_internal::Arg& a0)
|
412
414
|
ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 1,
|
413
415
|
"There was 1 substitution argument given, but "
|
@@ -415,8 +417,8 @@ void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
415
417
|
"one of $1-$9, or contains an unescaped $ character (use "
|
416
418
|
"$$ instead)");
|
417
419
|
|
418
|
-
void SubstituteAndAppend(
|
419
|
-
|
420
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
421
|
+
const char* absl_nonnull format,
|
420
422
|
const substitute_internal::Arg& a0,
|
421
423
|
const substitute_internal::Arg& a1)
|
422
424
|
ABSL_BAD_CALL_IF(
|
@@ -425,8 +427,8 @@ void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
425
427
|
"missing its $0/$1, contains one of $2-$9, or contains an "
|
426
428
|
"unescaped $ character (use $$ instead)");
|
427
429
|
|
428
|
-
void SubstituteAndAppend(
|
429
|
-
|
430
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
431
|
+
const char* absl_nonnull format,
|
430
432
|
const substitute_internal::Arg& a0,
|
431
433
|
const substitute_internal::Arg& a1,
|
432
434
|
const substitute_internal::Arg& a2)
|
@@ -436,8 +438,8 @@ void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
436
438
|
"this format string is missing its $0/$1/$2, contains one of "
|
437
439
|
"$3-$9, or contains an unescaped $ character (use $$ instead)");
|
438
440
|
|
439
|
-
void SubstituteAndAppend(
|
440
|
-
|
441
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
442
|
+
const char* absl_nonnull format,
|
441
443
|
const substitute_internal::Arg& a0,
|
442
444
|
const substitute_internal::Arg& a1,
|
443
445
|
const substitute_internal::Arg& a2,
|
@@ -448,8 +450,8 @@ void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
448
450
|
"this format string is missing its $0-$3, contains one of "
|
449
451
|
"$4-$9, or contains an unescaped $ character (use $$ instead)");
|
450
452
|
|
451
|
-
void SubstituteAndAppend(
|
452
|
-
|
453
|
+
void SubstituteAndAppend(std::string* absl_nonnull output,
|
454
|
+
const char* absl_nonnull format,
|
453
455
|
const substitute_internal::Arg& a0,
|
454
456
|
const substitute_internal::Arg& a1,
|
455
457
|
const substitute_internal::Arg& a2,
|
@@ -462,7 +464,7 @@ void SubstituteAndAppend(absl::Nonnull<std::string*> output,
|
|
462
464
|
"$5-$9, or contains an unescaped $ character (use $$ instead)");
|
463
465
|
|
464
466
|
void SubstituteAndAppend(
|
465
|
-
|
467
|
+
std::string* absl_nonnull output, const char* absl_nonnull format,
|
466
468
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
467
469
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
468
470
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5)
|
@@ -473,7 +475,7 @@ void SubstituteAndAppend(
|
|
473
475
|
"$6-$9, or contains an unescaped $ character (use $$ instead)");
|
474
476
|
|
475
477
|
void SubstituteAndAppend(
|
476
|
-
|
478
|
+
std::string* absl_nonnull output, const char* absl_nonnull format,
|
477
479
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
478
480
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
479
481
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -485,7 +487,7 @@ void SubstituteAndAppend(
|
|
485
487
|
"$7-$9, or contains an unescaped $ character (use $$ instead)");
|
486
488
|
|
487
489
|
void SubstituteAndAppend(
|
488
|
-
|
490
|
+
std::string* absl_nonnull output, const char* absl_nonnull format,
|
489
491
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
490
492
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
491
493
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -497,7 +499,7 @@ void SubstituteAndAppend(
|
|
497
499
|
"$8-$9, or contains an unescaped $ character (use $$ instead)");
|
498
500
|
|
499
501
|
void SubstituteAndAppend(
|
500
|
-
|
502
|
+
std::string* absl_nonnull output, const char* absl_nonnull format,
|
501
503
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
502
504
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
503
505
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -510,7 +512,7 @@ void SubstituteAndAppend(
|
|
510
512
|
"contains an unescaped $ character (use $$ instead)");
|
511
513
|
|
512
514
|
void SubstituteAndAppend(
|
513
|
-
|
515
|
+
std::string* absl_nonnull output, const char* absl_nonnull format,
|
514
516
|
const substitute_internal::Arg& a0, const substitute_internal::Arg& a1,
|
515
517
|
const substitute_internal::Arg& a2, const substitute_internal::Arg& a3,
|
516
518
|
const substitute_internal::Arg& a4, const substitute_internal::Arg& a5,
|
@@ -539,20 +541,20 @@ void SubstituteAndAppend(
|
|
539
541
|
// void VarMsg(absl::string_view format, const Args&... args) {
|
540
542
|
// std::string s = absl::Substitute(format, args...);
|
541
543
|
|
542
|
-
|
544
|
+
[[nodiscard]] inline std::string Substitute(absl::string_view format) {
|
543
545
|
std::string result;
|
544
546
|
SubstituteAndAppend(&result, format);
|
545
547
|
return result;
|
546
548
|
}
|
547
549
|
|
548
|
-
|
550
|
+
[[nodiscard]] inline std::string Substitute(
|
549
551
|
absl::string_view format, const substitute_internal::Arg& a0) {
|
550
552
|
std::string result;
|
551
553
|
SubstituteAndAppend(&result, format, a0);
|
552
554
|
return result;
|
553
555
|
}
|
554
556
|
|
555
|
-
|
557
|
+
[[nodiscard]] inline std::string Substitute(
|
556
558
|
absl::string_view format, const substitute_internal::Arg& a0,
|
557
559
|
const substitute_internal::Arg& a1) {
|
558
560
|
std::string result;
|
@@ -560,7 +562,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
560
562
|
return result;
|
561
563
|
}
|
562
564
|
|
563
|
-
|
565
|
+
[[nodiscard]] inline std::string Substitute(
|
564
566
|
absl::string_view format, const substitute_internal::Arg& a0,
|
565
567
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2) {
|
566
568
|
std::string result;
|
@@ -568,7 +570,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
568
570
|
return result;
|
569
571
|
}
|
570
572
|
|
571
|
-
|
573
|
+
[[nodiscard]] inline std::string Substitute(
|
572
574
|
absl::string_view format, const substitute_internal::Arg& a0,
|
573
575
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
574
576
|
const substitute_internal::Arg& a3) {
|
@@ -577,7 +579,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
577
579
|
return result;
|
578
580
|
}
|
579
581
|
|
580
|
-
|
582
|
+
[[nodiscard]] inline std::string Substitute(
|
581
583
|
absl::string_view format, const substitute_internal::Arg& a0,
|
582
584
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
583
585
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4) {
|
@@ -586,7 +588,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
586
588
|
return result;
|
587
589
|
}
|
588
590
|
|
589
|
-
|
591
|
+
[[nodiscard]] inline std::string Substitute(
|
590
592
|
absl::string_view format, const substitute_internal::Arg& a0,
|
591
593
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
592
594
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
@@ -596,7 +598,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
596
598
|
return result;
|
597
599
|
}
|
598
600
|
|
599
|
-
|
601
|
+
[[nodiscard]] inline std::string Substitute(
|
600
602
|
absl::string_view format, const substitute_internal::Arg& a0,
|
601
603
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
602
604
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
@@ -606,7 +608,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
606
608
|
return result;
|
607
609
|
}
|
608
610
|
|
609
|
-
|
611
|
+
[[nodiscard]] inline std::string Substitute(
|
610
612
|
absl::string_view format, const substitute_internal::Arg& a0,
|
611
613
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
612
614
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
@@ -617,7 +619,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
617
619
|
return result;
|
618
620
|
}
|
619
621
|
|
620
|
-
|
622
|
+
[[nodiscard]] inline std::string Substitute(
|
621
623
|
absl::string_view format, const substitute_internal::Arg& a0,
|
622
624
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
623
625
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
@@ -628,7 +630,7 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
628
630
|
return result;
|
629
631
|
}
|
630
632
|
|
631
|
-
|
633
|
+
[[nodiscard]] inline std::string Substitute(
|
632
634
|
absl::string_view format, const substitute_internal::Arg& a0,
|
633
635
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
634
636
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
@@ -643,13 +645,13 @@ ABSL_MUST_USE_RESULT inline std::string Substitute(
|
|
643
645
|
#if defined(ABSL_BAD_CALL_IF)
|
644
646
|
// This body of functions catches cases where the number of placeholders
|
645
647
|
// doesn't match the number of data arguments.
|
646
|
-
std::string Substitute(
|
648
|
+
std::string Substitute(const char* absl_nonnull format)
|
647
649
|
ABSL_BAD_CALL_IF(substitute_internal::PlaceholderBitmask(format) != 0,
|
648
650
|
"There were no substitution arguments "
|
649
651
|
"but this format string either has a $[0-9] in it or "
|
650
652
|
"contains an unescaped $ character (use $$ instead)");
|
651
653
|
|
652
|
-
std::string Substitute(
|
654
|
+
std::string Substitute(const char* absl_nonnull format,
|
653
655
|
const substitute_internal::Arg& a0)
|
654
656
|
ABSL_BAD_CALL_IF(
|
655
657
|
substitute_internal::PlaceholderBitmask(format) != 1,
|
@@ -657,7 +659,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
657
659
|
"this format string is missing its $0, contains one of $1-$9, "
|
658
660
|
"or contains an unescaped $ character (use $$ instead)");
|
659
661
|
|
660
|
-
std::string Substitute(
|
662
|
+
std::string Substitute(const char* absl_nonnull format,
|
661
663
|
const substitute_internal::Arg& a0,
|
662
664
|
const substitute_internal::Arg& a1)
|
663
665
|
ABSL_BAD_CALL_IF(
|
@@ -666,7 +668,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
666
668
|
"this format string is missing its $0/$1, contains one of "
|
667
669
|
"$2-$9, or contains an unescaped $ character (use $$ instead)");
|
668
670
|
|
669
|
-
std::string Substitute(
|
671
|
+
std::string Substitute(const char* absl_nonnull format,
|
670
672
|
const substitute_internal::Arg& a0,
|
671
673
|
const substitute_internal::Arg& a1,
|
672
674
|
const substitute_internal::Arg& a2)
|
@@ -676,7 +678,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
676
678
|
"this format string is missing its $0/$1/$2, contains one of "
|
677
679
|
"$3-$9, or contains an unescaped $ character (use $$ instead)");
|
678
680
|
|
679
|
-
std::string Substitute(
|
681
|
+
std::string Substitute(const char* absl_nonnull format,
|
680
682
|
const substitute_internal::Arg& a0,
|
681
683
|
const substitute_internal::Arg& a1,
|
682
684
|
const substitute_internal::Arg& a2,
|
@@ -687,7 +689,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
687
689
|
"this format string is missing its $0-$3, contains one of "
|
688
690
|
"$4-$9, or contains an unescaped $ character (use $$ instead)");
|
689
691
|
|
690
|
-
std::string Substitute(
|
692
|
+
std::string Substitute(const char* absl_nonnull format,
|
691
693
|
const substitute_internal::Arg& a0,
|
692
694
|
const substitute_internal::Arg& a1,
|
693
695
|
const substitute_internal::Arg& a2,
|
@@ -699,7 +701,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
699
701
|
"this format string is missing its $0-$4, contains one of "
|
700
702
|
"$5-$9, or contains an unescaped $ character (use $$ instead)");
|
701
703
|
|
702
|
-
std::string Substitute(
|
704
|
+
std::string Substitute(const char* absl_nonnull format,
|
703
705
|
const substitute_internal::Arg& a0,
|
704
706
|
const substitute_internal::Arg& a1,
|
705
707
|
const substitute_internal::Arg& a2,
|
@@ -713,7 +715,7 @@ std::string Substitute(absl::Nonnull<const char*> format,
|
|
713
715
|
"$6-$9, or contains an unescaped $ character (use $$ instead)");
|
714
716
|
|
715
717
|
std::string Substitute(
|
716
|
-
|
718
|
+
const char* absl_nonnull format, const substitute_internal::Arg& a0,
|
717
719
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
718
720
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
719
721
|
const substitute_internal::Arg& a5, const substitute_internal::Arg& a6)
|
@@ -724,7 +726,7 @@ std::string Substitute(
|
|
724
726
|
"$7-$9, or contains an unescaped $ character (use $$ instead)");
|
725
727
|
|
726
728
|
std::string Substitute(
|
727
|
-
|
729
|
+
const char* absl_nonnull format, const substitute_internal::Arg& a0,
|
728
730
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
729
731
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
730
732
|
const substitute_internal::Arg& a5, const substitute_internal::Arg& a6,
|
@@ -736,7 +738,7 @@ std::string Substitute(
|
|
736
738
|
"$8-$9, or contains an unescaped $ character (use $$ instead)");
|
737
739
|
|
738
740
|
std::string Substitute(
|
739
|
-
|
741
|
+
const char* absl_nonnull format, const substitute_internal::Arg& a0,
|
740
742
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
741
743
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
742
744
|
const substitute_internal::Arg& a5, const substitute_internal::Arg& a6,
|
@@ -748,7 +750,7 @@ std::string Substitute(
|
|
748
750
|
"contains an unescaped $ character (use $$ instead)");
|
749
751
|
|
750
752
|
std::string Substitute(
|
751
|
-
|
753
|
+
const char* absl_nonnull format, const substitute_internal::Arg& a0,
|
752
754
|
const substitute_internal::Arg& a1, const substitute_internal::Arg& a2,
|
753
755
|
const substitute_internal::Arg& a3, const substitute_internal::Arg& a4,
|
754
756
|
const substitute_internal::Arg& a5, const substitute_internal::Arg& a6,
|
@@ -31,10 +31,6 @@ namespace absl {
|
|
31
31
|
ABSL_NAMESPACE_BEGIN
|
32
32
|
namespace synchronization_internal {
|
33
33
|
|
34
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
35
|
-
constexpr char FutexWaiter::kName[];
|
36
|
-
#endif
|
37
|
-
|
38
34
|
int FutexWaiter::WaitUntil(std::atomic<int32_t>* v, int32_t val,
|
39
35
|
KernelTimeout t) {
|
40
36
|
#ifdef CLOCK_MONOTONIC
|
@@ -35,11 +35,6 @@ namespace absl {
|
|
35
35
|
ABSL_NAMESPACE_BEGIN
|
36
36
|
namespace synchronization_internal {
|
37
37
|
|
38
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
39
|
-
constexpr uint64_t KernelTimeout::kNoTimeout;
|
40
|
-
constexpr int64_t KernelTimeout::kMaxNanos;
|
41
|
-
#endif
|
42
|
-
|
43
38
|
int64_t KernelTimeout::SteadyClockNow() {
|
44
39
|
if (!SupportsSteadyClock()) {
|
45
40
|
return absl::GetCurrentTimeNanos();
|
@@ -58,10 +58,6 @@ class PthreadMutexHolder {
|
|
58
58
|
};
|
59
59
|
} // namespace
|
60
60
|
|
61
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
62
|
-
constexpr char PthreadWaiter::kName[];
|
63
|
-
#endif
|
64
|
-
|
65
61
|
PthreadWaiter::PthreadWaiter() : waiter_count_(0), wakeup_count_(0) {
|
66
62
|
const int err = pthread_mutex_init(&mu_, 0);
|
67
63
|
if (err != 0) {
|
@@ -33,10 +33,6 @@ namespace absl {
|
|
33
33
|
ABSL_NAMESPACE_BEGIN
|
34
34
|
namespace synchronization_internal {
|
35
35
|
|
36
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
37
|
-
constexpr char SemWaiter::kName[];
|
38
|
-
#endif
|
39
|
-
|
40
36
|
SemWaiter::SemWaiter() : wakeups_(0) {
|
41
37
|
if (sem_init(&sem_, 0, 0) != 0) {
|
42
38
|
ABSL_RAW_LOG(FATAL, "sem_init failed with errno %d\n", errno);
|
@@ -30,10 +30,6 @@ namespace absl {
|
|
30
30
|
ABSL_NAMESPACE_BEGIN
|
31
31
|
namespace synchronization_internal {
|
32
32
|
|
33
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
34
|
-
constexpr char StdcppWaiter::kName[];
|
35
|
-
#endif
|
36
|
-
|
37
33
|
StdcppWaiter::StdcppWaiter() : waiter_count_(0), wakeup_count_(0) {}
|
38
34
|
|
39
35
|
bool StdcppWaiter::Wait(KernelTimeout t) {
|
@@ -21,10 +21,6 @@ namespace absl {
|
|
21
21
|
ABSL_NAMESPACE_BEGIN
|
22
22
|
namespace synchronization_internal {
|
23
23
|
|
24
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
25
|
-
constexpr int WaiterBase::kIdlePeriods;
|
26
|
-
#endif
|
27
|
-
|
28
24
|
void WaiterBase::MaybeBecomeIdle() {
|
29
25
|
base_internal::ThreadIdentity *identity =
|
30
26
|
base_internal::CurrentThreadIdentityIfPresent();
|
@@ -28,10 +28,6 @@ namespace absl {
|
|
28
28
|
ABSL_NAMESPACE_BEGIN
|
29
29
|
namespace synchronization_internal {
|
30
30
|
|
31
|
-
#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
|
32
|
-
constexpr char Win32Waiter::kName[];
|
33
|
-
#endif
|
34
|
-
|
35
31
|
class Win32Waiter::WinHelper {
|
36
32
|
public:
|
37
33
|
static SRWLOCK *GetLock(Win32Waiter *w) {
|
@@ -1339,7 +1339,7 @@ static char* StackString(void** pcs, int n, char* buf, int maxlen,
|
|
1339
1339
|
} else {
|
1340
1340
|
snprintf(buf + len, count, " %p", pcs[i]);
|
1341
1341
|
}
|
1342
|
-
len += strlen(&buf[len]);
|
1342
|
+
len += static_cast<int>(strlen(&buf[len]));
|
1343
1343
|
}
|
1344
1344
|
return buf;
|
1345
1345
|
}
|