gitlab-grpc 1.42.1.gitlab
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +1 -0
- data/Makefile +3004 -0
- data/etc/roots.pem +4337 -0
- data/include/grpc/byte_buffer.h +27 -0
- data/include/grpc/byte_buffer_reader.h +26 -0
- data/include/grpc/census.h +40 -0
- data/include/grpc/compression.h +75 -0
- data/include/grpc/event_engine/README.md +38 -0
- data/include/grpc/event_engine/endpoint_config.h +43 -0
- data/include/grpc/event_engine/event_engine.h +375 -0
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
- data/include/grpc/event_engine/memory_allocator.h +210 -0
- data/include/grpc/event_engine/port.h +39 -0
- data/include/grpc/fork.h +26 -0
- data/include/grpc/grpc.h +579 -0
- data/include/grpc/grpc_cronet.h +38 -0
- data/include/grpc/grpc_posix.h +62 -0
- data/include/grpc/grpc_security.h +1142 -0
- data/include/grpc/grpc_security_constants.h +165 -0
- data/include/grpc/impl/codegen/README.md +22 -0
- data/include/grpc/impl/codegen/atm.h +97 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +93 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
- data/include/grpc/impl/codegen/atm_windows.h +134 -0
- data/include/grpc/impl/codegen/byte_buffer.h +103 -0
- data/include/grpc/impl/codegen/byte_buffer_reader.h +44 -0
- data/include/grpc/impl/codegen/compression_types.h +110 -0
- data/include/grpc/impl/codegen/connectivity_state.h +46 -0
- data/include/grpc/impl/codegen/fork.h +50 -0
- data/include/grpc/impl/codegen/gpr_slice.h +71 -0
- data/include/grpc/impl/codegen/gpr_types.h +61 -0
- data/include/grpc/impl/codegen/grpc_types.h +813 -0
- data/include/grpc/impl/codegen/log.h +112 -0
- data/include/grpc/impl/codegen/port_platform.h +719 -0
- data/include/grpc/impl/codegen/propagation_bits.h +54 -0
- data/include/grpc/impl/codegen/slice.h +129 -0
- data/include/grpc/impl/codegen/status.h +156 -0
- data/include/grpc/impl/codegen/sync.h +68 -0
- data/include/grpc/impl/codegen/sync_abseil.h +38 -0
- data/include/grpc/impl/codegen/sync_custom.h +40 -0
- data/include/grpc/impl/codegen/sync_generic.h +51 -0
- data/include/grpc/impl/codegen/sync_posix.h +54 -0
- data/include/grpc/impl/codegen/sync_windows.h +42 -0
- data/include/grpc/load_reporting.h +48 -0
- data/include/grpc/module.modulemap +64 -0
- data/include/grpc/slice.h +172 -0
- data/include/grpc/slice_buffer.h +84 -0
- data/include/grpc/status.h +26 -0
- data/include/grpc/support/alloc.h +52 -0
- data/include/grpc/support/atm.h +26 -0
- data/include/grpc/support/atm_gcc_atomic.h +26 -0
- data/include/grpc/support/atm_gcc_sync.h +26 -0
- data/include/grpc/support/atm_windows.h +26 -0
- data/include/grpc/support/cpu.h +44 -0
- data/include/grpc/support/log.h +26 -0
- data/include/grpc/support/log_windows.h +38 -0
- data/include/grpc/support/port_platform.h +24 -0
- data/include/grpc/support/string_util.h +51 -0
- data/include/grpc/support/sync.h +282 -0
- data/include/grpc/support/sync_abseil.h +26 -0
- data/include/grpc/support/sync_custom.h +26 -0
- data/include/grpc/support/sync_generic.h +26 -0
- data/include/grpc/support/sync_posix.h +26 -0
- data/include/grpc/support/sync_windows.h +26 -0
- data/include/grpc/support/thd_id.h +44 -0
- data/include/grpc/support/time.h +92 -0
- data/include/grpc/support/workaround_list.h +31 -0
- data/src/core/ext/filters/census/grpc_context.cc +39 -0
- data/src/core/ext/filters/client_channel/backend_metric.cc +80 -0
- data/src/core/ext/filters/client_channel/backend_metric.h +36 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +183 -0
- data/src/core/ext/filters/client_channel/backup_poller.h +42 -0
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +220 -0
- data/src/core/ext/filters/client_channel/client_channel.cc +3119 -0
- data/src/core/ext/filters/client_channel/client_channel.h +581 -0
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +96 -0
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +75 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +56 -0
- data/src/core/ext/filters/client_channel/client_channel_factory.h +46 -0
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +74 -0
- data/src/core/ext/filters/client_channel/config_selector.cc +59 -0
- data/src/core/ext/filters/client_channel/config_selector.h +145 -0
- data/src/core/ext/filters/client_channel/connector.h +79 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +190 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
- data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +83 -0
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +72 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +619 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.h +177 -0
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +392 -0
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +42 -0
- data/src/core/ext/filters/client_channel/http_proxy.cc +234 -0
- data/src/core/ext/filters/client_channel/http_proxy.h +28 -0
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +96 -0
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +101 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +304 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +83 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +148 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +29 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1866 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +47 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +76 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +37 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +44 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +83 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +93 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +76 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +192 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +74 -0
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +522 -0
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +918 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +757 -0
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +37 -0
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +503 -0
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +426 -0
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +741 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +745 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +60 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +29 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +795 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +701 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1362 -0
- data/src/core/ext/filters/client_channel/lb_policy.cc +131 -0
- data/src/core/ext/filters/client_channel/lb_policy.h +425 -0
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -0
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +185 -0
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +65 -0
- data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +56 -0
- data/src/core/ext/filters/client_channel/local_subchannel_pool.h +58 -0
- data/src/core/ext/filters/client_channel/proxy_mapper.h +54 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +89 -0
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +50 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +526 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +74 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +110 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +902 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +1203 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +122 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +29 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +34 -0
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +28 -0
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +29 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +332 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +380 -0
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +95 -0
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +384 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +195 -0
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +1002 -0
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +28 -0
- data/src/core/ext/filters/client_channel/resolver.cc +87 -0
- data/src/core/ext/filters/client_channel/resolver.h +136 -0
- data/src/core/ext/filters/client_channel/resolver_factory.h +75 -0
- data/src/core/ext/filters/client_channel/resolver_registry.cc +195 -0
- data/src/core/ext/filters/client_channel/resolver_registry.h +89 -0
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +189 -0
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +99 -0
- data/src/core/ext/filters/client_channel/retry_filter.cc +2573 -0
- data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
- data/src/core/ext/filters/client_channel/retry_service_config.cc +316 -0
- data/src/core/ext/filters/client_channel/retry_service_config.h +96 -0
- data/src/core/ext/filters/client_channel/retry_throttle.cc +162 -0
- data/src/core/ext/filters/client_channel/retry_throttle.h +79 -0
- data/src/core/ext/filters/client_channel/server_address.cc +170 -0
- data/src/core/ext/filters/client_channel/server_address.h +144 -0
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +156 -0
- data/src/core/ext/filters/client_channel/subchannel.cc +1021 -0
- data/src/core/ext/filters/client_channel/subchannel.h +382 -0
- data/src/core/ext/filters/client_channel/subchannel_interface.h +130 -0
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +126 -0
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +106 -0
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +264 -0
- data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
- data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +391 -0
- data/src/core/ext/filters/deadline/deadline_filter.h +86 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +503 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +181 -0
- data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
- data/src/core/ext/filters/http/client/http_client_filter.cc +604 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +31 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +159 -0
- data/src/core/ext/filters/http/client_authority_filter.h +34 -0
- data/src/core/ext/filters/http/http_filters_plugin.cc +90 -0
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +553 -0
- data/src/core/ext/filters/http/message_compress/message_compress_filter.h +53 -0
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +398 -0
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +31 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +537 -0
- data/src/core/ext/filters/http/server/http_server_filter.h +29 -0
- data/src/core/ext/filters/max_age/max_age_filter.cc +560 -0
- data/src/core/ext/filters/max_age/max_age_filter.h +26 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +402 -0
- data/src/core/ext/filters/message_size/message_size_filter.h +66 -0
- data/src/core/ext/service_config/service_config.cc +227 -0
- data/src/core/ext/service_config/service_config.h +127 -0
- data/src/core/ext/service_config/service_config_call_data.h +72 -0
- data/src/core/ext/service_config/service_config_parser.cc +89 -0
- data/src/core/ext/service_config/service_config_parser.h +97 -0
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +45 -0
- data/src/core/ext/transport/chttp2/alpn/alpn.h +36 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +276 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +77 -0
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +119 -0
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +95 -0
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +189 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +923 -0
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +47 -0
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +53 -0
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +83 -0
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +125 -0
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +252 -0
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +57 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +231 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +42 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +37 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +3351 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +66 -0
- data/src/core/ext/transport/chttp2/transport/context_list.cc +68 -0
- data/src/core/ext/transport/chttp2/transport/context_list.h +52 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +430 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +488 -0
- data/src/core/ext/transport/chttp2/transport/frame.h +47 -0
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +308 -0
- data/src/core/ext/transport/chttp2/transport/frame_data.h +83 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +187 -0
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +63 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +132 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +46 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +118 -0
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +51 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +273 -0
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +62 -0
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +123 -0
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +43 -0
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +546 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +277 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1454 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +136 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +146 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +137 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
- data/src/core/ext/transport/chttp2/transport/hpack_utils.h +30 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +62 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +61 -0
- data/src/core/ext/transport/chttp2/transport/huffsyms.cc +92 -0
- data/src/core/ext/transport/chttp2/transport/huffsyms.h +32 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +892 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +651 -0
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +216 -0
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +177 -0
- data/src/core/ext/transport/chttp2/transport/stream_map.h +67 -0
- data/src/core/ext/transport/chttp2/transport/varint.cc +62 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +71 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +716 -0
- data/src/core/ext/transport/inproc/inproc_plugin.cc +28 -0
- data/src/core/ext/transport/inproc/inproc_transport.cc +1360 -0
- data/src/core/ext/transport/inproc/inproc_transport.h +35 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1591 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +17 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +30 -0
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +66 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +243 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +955 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +371 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1554 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +271 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +494 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2116 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +83 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +56 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +370 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +124 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +470 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +94 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +382 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1295 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +103 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +418 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +84 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +53 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +161 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +241 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +917 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +171 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +830 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +94 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +244 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1089 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +71 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +133 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +101 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +43 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +132 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +96 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +90 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +261 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +125 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +462 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +397 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +33 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +79 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +138 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +640 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +161 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +680 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +177 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +42 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +127 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +536 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +153 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +550 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +185 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +738 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +82 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +312 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +960 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +4213 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +60 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +177 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +49 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +134 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +298 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +79 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +303 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +42 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +123 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +403 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1785 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +19 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +35 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +130 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +559 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +73 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +237 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +148 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +674 -0
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +25 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +146 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +535 -0
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +54 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +163 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +27 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +62 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +121 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +468 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +205 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +48 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +144 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +96 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +90 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +84 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +65 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +184 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +158 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +136 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +225 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +343 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +313 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +17 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +36 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +40 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +111 -0
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +51 -0
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +148 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +30 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +74 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +18 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +242 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +896 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +251 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +943 -0
- data/src/core/ext/upb-generated/google/api/http.upb.c +66 -0
- data/src/core/ext/upb-generated/google/api/http.upb.h +228 -0
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +27 -0
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +70 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +486 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2047 -0
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +27 -0
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +70 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +22 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +62 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +79 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +231 -0
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +27 -0
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +70 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +106 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +346 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +33 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +87 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +49 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +127 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +212 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +805 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +42 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +137 -0
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +36 -0
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +108 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +141 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +507 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +48 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +140 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +29 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +70 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +17 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +30 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +28 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +77 -0
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +66 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +464 -0
- data/src/core/ext/upb-generated/validate/validate.upb.h +2447 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +28 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +66 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +155 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +90 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +36 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +100 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +178 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +91 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +33 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +41 -0
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +252 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +105 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +424 -0
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +120 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +100 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +596 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +155 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +136 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +127 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +313 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +150 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +144 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +66 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +263 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +236 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +300 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +100 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +43 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +59 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +107 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +140 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +146 -0
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +205 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +201 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +67 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +152 -0
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +75 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +115 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +982 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +295 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +71 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +61 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +123 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +79 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +567 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +125 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +196 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +97 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +251 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +60 -0
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +60 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +142 -0
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +73 -0
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +72 -0
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +80 -0
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +80 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +74 -0
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +163 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +65 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +54 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +53 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +76 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +69 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +81 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +92 -0
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +95 -0
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +34 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +59 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +54 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +61 -0
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +39 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +386 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +165 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +37 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +65 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +66 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +75 -0
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +42 -0
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +71 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +45 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +52 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +34 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +30 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +332 -0
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +145 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +43 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +46 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +68 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +51 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/xds/certificate_provider_factory.h +61 -0
- data/src/core/ext/xds/certificate_provider_registry.cc +103 -0
- data/src/core/ext/xds/certificate_provider_registry.h +57 -0
- data/src/core/ext/xds/certificate_provider_store.cc +87 -0
- data/src/core/ext/xds/certificate_provider_store.h +112 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +144 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +69 -0
- data/src/core/ext/xds/xds_api.cc +3965 -0
- data/src/core/ext/xds/xds_api.h +744 -0
- data/src/core/ext/xds/xds_bootstrap.cc +471 -0
- data/src/core/ext/xds/xds_bootstrap.h +125 -0
- data/src/core/ext/xds/xds_certificate_provider.cc +405 -0
- data/src/core/ext/xds/xds_certificate_provider.h +151 -0
- data/src/core/ext/xds/xds_channel_args.h +32 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
- data/src/core/ext/xds/xds_client.cc +2791 -0
- data/src/core/ext/xds/xds_client.h +380 -0
- data/src/core/ext/xds/xds_client_stats.cc +160 -0
- data/src/core/ext/xds/xds_client_stats.h +240 -0
- data/src/core/ext/xds/xds_http_fault_filter.cc +227 -0
- data/src/core/ext/xds/xds_http_fault_filter.h +64 -0
- data/src/core/ext/xds/xds_http_filters.cc +116 -0
- data/src/core/ext/xds/xds_http_filters.h +133 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +544 -0
- data/src/core/lib/address_utils/parse_address.cc +320 -0
- data/src/core/lib/address_utils/parse_address.h +77 -0
- data/src/core/lib/address_utils/sockaddr_utils.cc +412 -0
- data/src/core/lib/address_utils/sockaddr_utils.h +110 -0
- data/src/core/lib/avl/avl.cc +306 -0
- data/src/core/lib/avl/avl.h +94 -0
- data/src/core/lib/backoff/backoff.cc +78 -0
- data/src/core/lib/backoff/backoff.h +89 -0
- data/src/core/lib/channel/call_tracer.h +85 -0
- data/src/core/lib/channel/channel_args.cc +400 -0
- data/src/core/lib/channel/channel_args.h +143 -0
- data/src/core/lib/channel/channel_stack.cc +267 -0
- data/src/core/lib/channel/channel_stack.h +312 -0
- data/src/core/lib/channel/channel_stack_builder.cc +313 -0
- data/src/core/lib/channel/channel_stack_builder.h +158 -0
- data/src/core/lib/channel/channel_trace.cc +193 -0
- data/src/core/lib/channel/channel_trace.h +135 -0
- data/src/core/lib/channel/channelz.cc +596 -0
- data/src/core/lib/channel/channelz.h +357 -0
- data/src/core/lib/channel/channelz_registry.cc +285 -0
- data/src/core/lib/channel/channelz_registry.h +99 -0
- data/src/core/lib/channel/connected_channel.cc +245 -0
- data/src/core/lib/channel/connected_channel.h +33 -0
- data/src/core/lib/channel/context.h +52 -0
- data/src/core/lib/channel/handshaker.cc +222 -0
- data/src/core/lib/channel/handshaker.h +161 -0
- data/src/core/lib/channel/handshaker_factory.h +50 -0
- data/src/core/lib/channel/handshaker_registry.cc +50 -0
- data/src/core/lib/channel/handshaker_registry.h +71 -0
- data/src/core/lib/channel/status_util.cc +109 -0
- data/src/core/lib/channel/status_util.h +67 -0
- data/src/core/lib/compression/algorithm_metadata.h +62 -0
- data/src/core/lib/compression/compression.cc +183 -0
- data/src/core/lib/compression/compression_args.cc +138 -0
- data/src/core/lib/compression/compression_args.h +56 -0
- data/src/core/lib/compression/compression_internal.cc +283 -0
- data/src/core/lib/compression/compression_internal.h +97 -0
- data/src/core/lib/compression/message_compress.cc +192 -0
- data/src/core/lib/compression/message_compress.h +40 -0
- data/src/core/lib/compression/stream_compression.cc +81 -0
- data/src/core/lib/compression/stream_compression.h +117 -0
- data/src/core/lib/compression/stream_compression_gzip.cc +231 -0
- data/src/core/lib/compression/stream_compression_gzip.h +28 -0
- data/src/core/lib/compression/stream_compression_identity.cc +91 -0
- data/src/core/lib/compression/stream_compression_identity.h +29 -0
- data/src/core/lib/config/core_configuration.cc +96 -0
- data/src/core/lib/config/core_configuration.h +146 -0
- data/src/core/lib/debug/stats.cc +172 -0
- data/src/core/lib/debug/stats.h +71 -0
- data/src/core/lib/debug/stats_data.cc +689 -0
- data/src/core/lib/debug/stats_data.h +556 -0
- data/src/core/lib/debug/trace.cc +155 -0
- data/src/core/lib/debug/trace.h +132 -0
- data/src/core/lib/event_engine/endpoint_config.cc +45 -0
- data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
- data/src/core/lib/event_engine/event_engine.cc +50 -0
- data/src/core/lib/event_engine/sockaddr.cc +40 -0
- data/src/core/lib/event_engine/sockaddr.h +44 -0
- data/src/core/lib/gpr/alloc.cc +76 -0
- data/src/core/lib/gpr/alloc.h +28 -0
- data/src/core/lib/gpr/atm.cc +35 -0
- data/src/core/lib/gpr/cpu_iphone.cc +44 -0
- data/src/core/lib/gpr/cpu_linux.cc +82 -0
- data/src/core/lib/gpr/cpu_posix.cc +83 -0
- data/src/core/lib/gpr/cpu_windows.cc +33 -0
- data/src/core/lib/gpr/env.h +40 -0
- data/src/core/lib/gpr/env_linux.cc +75 -0
- data/src/core/lib/gpr/env_posix.cc +46 -0
- data/src/core/lib/gpr/env_windows.cc +74 -0
- data/src/core/lib/gpr/log.cc +140 -0
- data/src/core/lib/gpr/log_android.cc +77 -0
- data/src/core/lib/gpr/log_linux.cc +114 -0
- data/src/core/lib/gpr/log_posix.cc +110 -0
- data/src/core/lib/gpr/log_windows.cc +116 -0
- data/src/core/lib/gpr/murmur_hash.cc +82 -0
- data/src/core/lib/gpr/murmur_hash.h +29 -0
- data/src/core/lib/gpr/spinlock.h +53 -0
- data/src/core/lib/gpr/string.cc +343 -0
- data/src/core/lib/gpr/string.h +112 -0
- data/src/core/lib/gpr/string_posix.cc +72 -0
- data/src/core/lib/gpr/string_util_windows.cc +82 -0
- data/src/core/lib/gpr/string_windows.cc +69 -0
- data/src/core/lib/gpr/string_windows.h +32 -0
- data/src/core/lib/gpr/sync.cc +124 -0
- data/src/core/lib/gpr/sync_abseil.cc +114 -0
- data/src/core/lib/gpr/sync_posix.cc +170 -0
- data/src/core/lib/gpr/sync_windows.cc +120 -0
- data/src/core/lib/gpr/time.cc +264 -0
- data/src/core/lib/gpr/time_posix.cc +186 -0
- data/src/core/lib/gpr/time_precise.cc +168 -0
- data/src/core/lib/gpr/time_precise.h +70 -0
- data/src/core/lib/gpr/time_windows.cc +99 -0
- data/src/core/lib/gpr/tls.h +151 -0
- data/src/core/lib/gpr/tmpfile.h +32 -0
- data/src/core/lib/gpr/tmpfile_msys.cc +58 -0
- data/src/core/lib/gpr/tmpfile_posix.cc +69 -0
- data/src/core/lib/gpr/tmpfile_windows.cc +69 -0
- data/src/core/lib/gpr/useful.h +113 -0
- data/src/core/lib/gpr/wrap_memcpy.cc +43 -0
- data/src/core/lib/gprpp/arena.cc +104 -0
- data/src/core/lib/gprpp/arena.h +131 -0
- data/src/core/lib/gprpp/atomic_utils.h +47 -0
- data/src/core/lib/gprpp/bitset.h +188 -0
- data/src/core/lib/gprpp/chunked_vector.h +211 -0
- data/src/core/lib/gprpp/construct_destruct.h +39 -0
- data/src/core/lib/gprpp/debug_location.h +53 -0
- data/src/core/lib/gprpp/dual_ref_counted.h +330 -0
- data/src/core/lib/gprpp/examine_stack.cc +43 -0
- data/src/core/lib/gprpp/examine_stack.h +46 -0
- data/src/core/lib/gprpp/fork.cc +244 -0
- data/src/core/lib/gprpp/fork.h +103 -0
- data/src/core/lib/gprpp/global_config.h +95 -0
- data/src/core/lib/gprpp/global_config_custom.h +29 -0
- data/src/core/lib/gprpp/global_config_env.cc +137 -0
- data/src/core/lib/gprpp/global_config_env.h +131 -0
- data/src/core/lib/gprpp/global_config_generic.h +44 -0
- data/src/core/lib/gprpp/host_port.cc +112 -0
- data/src/core/lib/gprpp/host_port.h +56 -0
- data/src/core/lib/gprpp/manual_constructor.h +216 -0
- data/src/core/lib/gprpp/match.h +73 -0
- data/src/core/lib/gprpp/memory.h +57 -0
- data/src/core/lib/gprpp/mpscq.cc +108 -0
- data/src/core/lib/gprpp/mpscq.h +99 -0
- data/src/core/lib/gprpp/orphanable.h +125 -0
- data/src/core/lib/gprpp/overload.h +59 -0
- data/src/core/lib/gprpp/ref_counted.h +349 -0
- data/src/core/lib/gprpp/ref_counted_ptr.h +353 -0
- data/src/core/lib/gprpp/stat.h +38 -0
- data/src/core/lib/gprpp/stat_posix.cc +49 -0
- data/src/core/lib/gprpp/stat_windows.cc +48 -0
- data/src/core/lib/gprpp/status_helper.cc +427 -0
- data/src/core/lib/gprpp/status_helper.h +194 -0
- data/src/core/lib/gprpp/sync.h +198 -0
- data/src/core/lib/gprpp/table.h +411 -0
- data/src/core/lib/gprpp/thd.h +174 -0
- data/src/core/lib/gprpp/thd_posix.cc +209 -0
- data/src/core/lib/gprpp/thd_windows.cc +171 -0
- data/src/core/lib/gprpp/time_util.cc +77 -0
- data/src/core/lib/gprpp/time_util.h +42 -0
- data/src/core/lib/http/format_request.cc +104 -0
- data/src/core/lib/http/format_request.h +35 -0
- data/src/core/lib/http/httpcli.cc +324 -0
- data/src/core/lib/http/httpcli.h +128 -0
- data/src/core/lib/http/httpcli_security_connector.cc +215 -0
- data/src/core/lib/http/parser.cc +392 -0
- data/src/core/lib/http/parser.h +114 -0
- data/src/core/lib/iomgr/block_annotate.h +57 -0
- data/src/core/lib/iomgr/buffer_list.cc +307 -0
- data/src/core/lib/iomgr/buffer_list.h +163 -0
- data/src/core/lib/iomgr/call_combiner.cc +281 -0
- data/src/core/lib/iomgr/call_combiner.h +215 -0
- data/src/core/lib/iomgr/cfstream_handle.cc +210 -0
- data/src/core/lib/iomgr/cfstream_handle.h +90 -0
- data/src/core/lib/iomgr/closure.h +256 -0
- data/src/core/lib/iomgr/combiner.cc +328 -0
- data/src/core/lib/iomgr/combiner.h +89 -0
- data/src/core/lib/iomgr/dualstack_socket_posix.cc +48 -0
- data/src/core/lib/iomgr/dynamic_annotations.h +67 -0
- data/src/core/lib/iomgr/endpoint.cc +67 -0
- data/src/core/lib/iomgr/endpoint.h +108 -0
- data/src/core/lib/iomgr/endpoint_cfstream.cc +389 -0
- data/src/core/lib/iomgr/endpoint_cfstream.h +49 -0
- data/src/core/lib/iomgr/endpoint_pair.h +34 -0
- data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +32 -0
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +77 -0
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +95 -0
- data/src/core/lib/iomgr/error.cc +985 -0
- data/src/core/lib/iomgr/error.h +442 -0
- data/src/core/lib/iomgr/error_cfstream.cc +59 -0
- data/src/core/lib/iomgr/error_cfstream.h +31 -0
- data/src/core/lib/iomgr/error_internal.h +66 -0
- data/src/core/lib/iomgr/ev_apple.cc +359 -0
- data/src/core/lib/iomgr/ev_apple.h +43 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +1364 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.h +31 -0
- data/src/core/lib/iomgr/ev_epollex_linux.cc +1654 -0
- data/src/core/lib/iomgr/ev_epollex_linux.h +30 -0
- data/src/core/lib/iomgr/ev_poll_posix.cc +1430 -0
- data/src/core/lib/iomgr/ev_poll_posix.h +29 -0
- data/src/core/lib/iomgr/ev_posix.cc +417 -0
- data/src/core/lib/iomgr/ev_posix.h +207 -0
- data/src/core/lib/iomgr/ev_windows.cc +30 -0
- data/src/core/lib/iomgr/event_engine/closure.cc +77 -0
- data/src/core/lib/iomgr/event_engine/closure.h +42 -0
- data/src/core/lib/iomgr/event_engine/endpoint.cc +173 -0
- data/src/core/lib/iomgr/event_engine/endpoint.h +52 -0
- data/src/core/lib/iomgr/event_engine/iomgr.cc +104 -0
- data/src/core/lib/iomgr/event_engine/iomgr.h +42 -0
- data/src/core/lib/iomgr/event_engine/pollset.cc +88 -0
- data/src/core/lib/iomgr/event_engine/pollset.h +25 -0
- data/src/core/lib/iomgr/event_engine/promise.h +51 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
- data/src/core/lib/iomgr/event_engine/resolver.cc +114 -0
- data/src/core/lib/iomgr/event_engine/tcp.cc +293 -0
- data/src/core/lib/iomgr/event_engine/timer.cc +62 -0
- data/src/core/lib/iomgr/exec_ctx.cc +227 -0
- data/src/core/lib/iomgr/exec_ctx.h +375 -0
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +182 -0
- data/src/core/lib/iomgr/executor/mpmcqueue.h +171 -0
- data/src/core/lib/iomgr/executor/threadpool.cc +136 -0
- data/src/core/lib/iomgr/executor/threadpool.h +150 -0
- data/src/core/lib/iomgr/executor.cc +455 -0
- data/src/core/lib/iomgr/executor.h +122 -0
- data/src/core/lib/iomgr/fork_posix.cc +119 -0
- data/src/core/lib/iomgr/fork_windows.cc +41 -0
- data/src/core/lib/iomgr/gethostname.h +26 -0
- data/src/core/lib/iomgr/gethostname_fallback.cc +30 -0
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +40 -0
- data/src/core/lib/iomgr/gethostname_sysconf.cc +40 -0
- data/src/core/lib/iomgr/grpc_if_nametoindex.h +30 -0
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +42 -0
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +38 -0
- data/src/core/lib/iomgr/internal_errqueue.cc +68 -0
- data/src/core/lib/iomgr/internal_errqueue.h +191 -0
- data/src/core/lib/iomgr/iocp_windows.cc +158 -0
- data/src/core/lib/iomgr/iocp_windows.h +48 -0
- data/src/core/lib/iomgr/iomgr.cc +196 -0
- data/src/core/lib/iomgr/iomgr.h +60 -0
- data/src/core/lib/iomgr/iomgr_custom.cc +79 -0
- data/src/core/lib/iomgr/iomgr_custom.h +49 -0
- data/src/core/lib/iomgr/iomgr_internal.cc +53 -0
- data/src/core/lib/iomgr/iomgr_internal.h +74 -0
- data/src/core/lib/iomgr/iomgr_posix.cc +90 -0
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +200 -0
- data/src/core/lib/iomgr/iomgr_windows.cc +105 -0
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +119 -0
- data/src/core/lib/iomgr/is_epollexclusive_available.h +36 -0
- data/src/core/lib/iomgr/load_file.cc +81 -0
- data/src/core/lib/iomgr/load_file.h +35 -0
- data/src/core/lib/iomgr/lockfree_event.cc +278 -0
- data/src/core/lib/iomgr/lockfree_event.h +72 -0
- data/src/core/lib/iomgr/nameser.h +106 -0
- data/src/core/lib/iomgr/polling_entity.cc +96 -0
- data/src/core/lib/iomgr/polling_entity.h +68 -0
- data/src/core/lib/iomgr/pollset.cc +56 -0
- data/src/core/lib/iomgr/pollset.h +99 -0
- data/src/core/lib/iomgr/pollset_custom.cc +105 -0
- data/src/core/lib/iomgr/pollset_custom.h +37 -0
- data/src/core/lib/iomgr/pollset_set.cc +55 -0
- data/src/core/lib/iomgr/pollset_set.h +55 -0
- data/src/core/lib/iomgr/pollset_set_custom.cc +47 -0
- data/src/core/lib/iomgr/pollset_set_custom.h +26 -0
- data/src/core/lib/iomgr/pollset_set_windows.cc +52 -0
- data/src/core/lib/iomgr/pollset_set_windows.h +26 -0
- data/src/core/lib/iomgr/pollset_windows.cc +243 -0
- data/src/core/lib/iomgr/pollset_windows.h +70 -0
- data/src/core/lib/iomgr/port.h +221 -0
- data/src/core/lib/iomgr/python_util.h +47 -0
- data/src/core/lib/iomgr/resolve_address.cc +55 -0
- data/src/core/lib/iomgr/resolve_address.h +83 -0
- data/src/core/lib/iomgr/resolve_address_custom.cc +169 -0
- data/src/core/lib/iomgr/resolve_address_custom.h +44 -0
- data/src/core/lib/iomgr/resolve_address_posix.cc +170 -0
- data/src/core/lib/iomgr/resolve_address_windows.cc +152 -0
- data/src/core/lib/iomgr/resource_quota.cc +1106 -0
- data/src/core/lib/iomgr/resource_quota.h +226 -0
- data/src/core/lib/iomgr/sockaddr.h +33 -0
- data/src/core/lib/iomgr/sockaddr_posix.h +55 -0
- data/src/core/lib/iomgr/sockaddr_windows.h +55 -0
- data/src/core/lib/iomgr/socket_factory_posix.cc +95 -0
- data/src/core/lib/iomgr/socket_factory_posix.h +69 -0
- data/src/core/lib/iomgr/socket_mutator.cc +97 -0
- data/src/core/lib/iomgr/socket_mutator.h +84 -0
- data/src/core/lib/iomgr/socket_utils.h +47 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +515 -0
- data/src/core/lib/iomgr/socket_utils_linux.cc +42 -0
- data/src/core/lib/iomgr/socket_utils_posix.cc +58 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +163 -0
- data/src/core/lib/iomgr/socket_utils_windows.cc +47 -0
- data/src/core/lib/iomgr/socket_windows.cc +202 -0
- data/src/core/lib/iomgr/socket_windows.h +127 -0
- data/src/core/lib/iomgr/sys_epoll_wrapper.h +30 -0
- data/src/core/lib/iomgr/tcp_client.cc +38 -0
- data/src/core/lib/iomgr/tcp_client.h +56 -0
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +205 -0
- data/src/core/lib/iomgr/tcp_client_custom.cc +152 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +360 -0
- data/src/core/lib/iomgr/tcp_client_posix.h +70 -0
- data/src/core/lib/iomgr/tcp_client_windows.cc +241 -0
- data/src/core/lib/iomgr/tcp_custom.cc +377 -0
- data/src/core/lib/iomgr/tcp_custom.h +86 -0
- data/src/core/lib/iomgr/tcp_posix.cc +1848 -0
- data/src/core/lib/iomgr/tcp_posix.h +67 -0
- data/src/core/lib/iomgr/tcp_server.cc +79 -0
- data/src/core/lib/iomgr/tcp_server.h +149 -0
- data/src/core/lib/iomgr/tcp_server_custom.cc +467 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +645 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +128 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +223 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +175 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +36 -0
- data/src/core/lib/iomgr/tcp_server_windows.cc +568 -0
- data/src/core/lib/iomgr/tcp_windows.cc +530 -0
- data/src/core/lib/iomgr/tcp_windows.h +54 -0
- data/src/core/lib/iomgr/time_averaged_stats.cc +64 -0
- data/src/core/lib/iomgr/time_averaged_stats.h +72 -0
- data/src/core/lib/iomgr/timer.cc +46 -0
- data/src/core/lib/iomgr/timer.h +131 -0
- data/src/core/lib/iomgr/timer_custom.cc +96 -0
- data/src/core/lib/iomgr/timer_custom.h +43 -0
- data/src/core/lib/iomgr/timer_generic.cc +718 -0
- data/src/core/lib/iomgr/timer_generic.h +40 -0
- data/src/core/lib/iomgr/timer_heap.cc +134 -0
- data/src/core/lib/iomgr/timer_heap.h +43 -0
- data/src/core/lib/iomgr/timer_manager.cc +363 -0
- data/src/core/lib/iomgr/timer_manager.h +41 -0
- data/src/core/lib/iomgr/unix_sockets_posix.cc +108 -0
- data/src/core/lib/iomgr/unix_sockets_posix.h +49 -0
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +62 -0
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +82 -0
- data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +39 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +99 -0
- data/src/core/lib/iomgr/wakeup_fd_pipe.h +28 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.cc +70 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.h +98 -0
- data/src/core/lib/iomgr/work_serializer.cc +155 -0
- data/src/core/lib/iomgr/work_serializer.h +81 -0
- data/src/core/lib/json/json.h +250 -0
- data/src/core/lib/json/json_reader.cc +849 -0
- data/src/core/lib/json/json_util.cc +126 -0
- data/src/core/lib/json/json_util.h +154 -0
- data/src/core/lib/json/json_writer.cc +335 -0
- data/src/core/lib/matchers/matchers.cc +327 -0
- data/src/core/lib/matchers/matchers.h +160 -0
- data/src/core/lib/profiling/basic_timers.cc +295 -0
- data/src/core/lib/profiling/stap_timers.cc +50 -0
- data/src/core/lib/profiling/timers.h +94 -0
- data/src/core/lib/security/authorization/authorization_engine.h +44 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +33 -0
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +213 -0
- data/src/core/lib/security/authorization/evaluate_args.h +91 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +171 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
- data/src/core/lib/security/context/security_context.cc +325 -0
- data/src/core/lib/security/context/security_context.h +152 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +111 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.h +109 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +72 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment.h +57 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +68 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +33 -0
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +102 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +127 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +46 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +75 -0
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +59 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +230 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.h +106 -0
- data/src/core/lib/security/credentials/credentials.cc +164 -0
- data/src/core/lib/security/credentials/credentials.h +291 -0
- data/src/core/lib/security/credentials/credentials_metadata.cc +61 -0
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +404 -0
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +81 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +214 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.h +72 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +527 -0
- data/src/core/lib/security/credentials/external/external_account_credentials.h +122 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +136 -0
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +49 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +211 -0
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +60 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +113 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.h +87 -0
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +42 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +465 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +87 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +81 -0
- data/src/core/lib/security/credentials/iam/iam_credentials.h +49 -0
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +64 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +288 -0
- data/src/core/lib/security/credentials/jwt/json_token.h +76 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +192 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +89 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +922 -0
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +122 -0
- data/src/core/lib/security/credentials/local/local_credentials.cc +65 -0
- data/src/core/lib/security/credentials/local/local_credentials.h +61 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +753 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +173 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +267 -0
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +72 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +385 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +108 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +348 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +217 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +455 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +147 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +177 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +193 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +133 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.h +62 -0
- data/src/core/lib/security/credentials/tls/tls_utils.cc +123 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +51 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +244 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.h +69 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +311 -0
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +76 -0
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +327 -0
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +45 -0
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +121 -0
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +97 -0
- data/src/core/lib/security/security_connector/load_system_roots.h +33 -0
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +33 -0
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +171 -0
- data/src/core/lib/security/security_connector/load_system_roots_linux.h +46 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +294 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.h +59 -0
- data/src/core/lib/security/security_connector/security_connector.cc +137 -0
- data/src/core/lib/security/security_connector/security_connector.h +183 -0
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +453 -0
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +81 -0
- data/src/core/lib/security/security_connector/ssl_utils.cc +611 -0
- data/src/core/lib/security/security_connector/ssl_utils.h +188 -0
- data/src/core/lib/security/security_connector/ssl_utils_config.cc +32 -0
- data/src/core/lib/security/security_connector/ssl_utils_config.h +30 -0
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +667 -0
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +243 -0
- data/src/core/lib/security/transport/auth_filters.h +36 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +473 -0
- data/src/core/lib/security/transport/secure_endpoint.cc +442 -0
- data/src/core/lib/security/transport/secure_endpoint.h +42 -0
- data/src/core/lib/security/transport/security_handshaker.cc +642 -0
- data/src/core/lib/security/transport/security_handshaker.h +46 -0
- data/src/core/lib/security/transport/server_auth_filter.cc +331 -0
- data/src/core/lib/security/transport/tsi_error.cc +28 -0
- data/src/core/lib/security/transport/tsi_error.h +30 -0
- data/src/core/lib/security/util/json_util.cc +70 -0
- data/src/core/lib/security/util/json_util.h +45 -0
- data/src/core/lib/slice/b64.cc +239 -0
- data/src/core/lib/slice/b64.h +50 -0
- data/src/core/lib/slice/percent_encoding.cc +212 -0
- data/src/core/lib/slice/percent_encoding.h +66 -0
- data/src/core/lib/slice/slice.cc +592 -0
- data/src/core/lib/slice/slice_api.cc +39 -0
- data/src/core/lib/slice/slice_buffer.cc +413 -0
- data/src/core/lib/slice/slice_intern.cc +367 -0
- data/src/core/lib/slice/slice_internal.h +123 -0
- data/src/core/lib/slice/slice_refcount.cc +17 -0
- data/src/core/lib/slice/slice_refcount.h +121 -0
- data/src/core/lib/slice/slice_refcount_base.h +173 -0
- data/src/core/lib/slice/slice_split.cc +100 -0
- data/src/core/lib/slice/slice_split.h +40 -0
- data/src/core/lib/slice/slice_string_helpers.cc +44 -0
- data/src/core/lib/slice/slice_string_helpers.h +38 -0
- data/src/core/lib/slice/slice_utils.h +200 -0
- data/src/core/lib/slice/static_slice.cc +529 -0
- data/src/core/lib/slice/static_slice.h +331 -0
- data/src/core/lib/surface/api_trace.cc +25 -0
- data/src/core/lib/surface/api_trace.h +53 -0
- data/src/core/lib/surface/builtins.cc +49 -0
- data/src/core/lib/surface/builtins.h +26 -0
- data/src/core/lib/surface/byte_buffer.cc +92 -0
- data/src/core/lib/surface/byte_buffer_reader.cc +101 -0
- data/src/core/lib/surface/call.cc +2056 -0
- data/src/core/lib/surface/call.h +131 -0
- data/src/core/lib/surface/call_details.cc +41 -0
- data/src/core/lib/surface/call_log_batch.cc +111 -0
- data/src/core/lib/surface/call_test_only.h +43 -0
- data/src/core/lib/surface/channel.cc +535 -0
- data/src/core/lib/surface/channel.h +178 -0
- data/src/core/lib/surface/channel_init.cc +56 -0
- data/src/core/lib/surface/channel_init.h +86 -0
- data/src/core/lib/surface/channel_ping.cc +63 -0
- data/src/core/lib/surface/channel_stack_type.cc +59 -0
- data/src/core/lib/surface/channel_stack_type.h +47 -0
- data/src/core/lib/surface/completion_queue.cc +1429 -0
- data/src/core/lib/surface/completion_queue.h +98 -0
- data/src/core/lib/surface/completion_queue_factory.cc +88 -0
- data/src/core/lib/surface/completion_queue_factory.h +39 -0
- data/src/core/lib/surface/event_string.cc +62 -0
- data/src/core/lib/surface/event_string.h +31 -0
- data/src/core/lib/surface/init.cc +220 -0
- data/src/core/lib/surface/init.h +35 -0
- data/src/core/lib/surface/init_secure.cc +103 -0
- data/src/core/lib/surface/lame_client.cc +192 -0
- data/src/core/lib/surface/lame_client.h +33 -0
- data/src/core/lib/surface/metadata_array.cc +36 -0
- data/src/core/lib/surface/server.cc +1608 -0
- data/src/core/lib/surface/server.h +497 -0
- data/src/core/lib/surface/validate_metadata.cc +136 -0
- data/src/core/lib/surface/validate_metadata.h +45 -0
- data/src/core/lib/surface/version.cc +28 -0
- data/src/core/lib/transport/bdp_estimator.cc +87 -0
- data/src/core/lib/transport/bdp_estimator.h +95 -0
- data/src/core/lib/transport/byte_stream.cc +158 -0
- data/src/core/lib/transport/byte_stream.h +166 -0
- data/src/core/lib/transport/connectivity_state.cc +188 -0
- data/src/core/lib/transport/connectivity_state.h +145 -0
- data/src/core/lib/transport/error_utils.cc +191 -0
- data/src/core/lib/transport/error_utils.h +58 -0
- data/src/core/lib/transport/http2_errors.h +41 -0
- data/src/core/lib/transport/metadata.cc +714 -0
- data/src/core/lib/transport/metadata.h +449 -0
- data/src/core/lib/transport/metadata_batch.cc +94 -0
- data/src/core/lib/transport/metadata_batch.h +1055 -0
- data/src/core/lib/transport/parsed_metadata.h +263 -0
- data/src/core/lib/transport/pid_controller.cc +51 -0
- data/src/core/lib/transport/pid_controller.h +116 -0
- data/src/core/lib/transport/static_metadata.cc +1117 -0
- data/src/core/lib/transport/static_metadata.h +340 -0
- data/src/core/lib/transport/status_conversion.cc +92 -0
- data/src/core/lib/transport/status_conversion.h +38 -0
- data/src/core/lib/transport/status_metadata.cc +63 -0
- data/src/core/lib/transport/status_metadata.h +48 -0
- data/src/core/lib/transport/timeout_encoding.cc +151 -0
- data/src/core/lib/transport/timeout_encoding.h +38 -0
- data/src/core/lib/transport/transport.cc +261 -0
- data/src/core/lib/transport/transport.h +471 -0
- data/src/core/lib/transport/transport_impl.h +71 -0
- data/src/core/lib/transport/transport_op_string.cc +189 -0
- data/src/core/lib/uri/uri_parser.cc +191 -0
- data/src/core/lib/uri/uri_parser.h +87 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +197 -0
- data/src/core/tsi/alts/crypt/aes_gcm.cc +690 -0
- data/src/core/tsi/alts/crypt/gsec.cc +190 -0
- data/src/core/tsi/alts/crypt/gsec.h +459 -0
- data/src/core/tsi/alts/frame_protector/alts_counter.cc +118 -0
- data/src/core/tsi/alts/frame_protector/alts_counter.h +98 -0
- data/src/core/tsi/alts/frame_protector/alts_crypter.cc +66 -0
- data/src/core/tsi/alts/frame_protector/alts_crypter.h +255 -0
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +408 -0
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +55 -0
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +114 -0
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +114 -0
- data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +105 -0
- data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +103 -0
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +219 -0
- data/src/core/tsi/alts/frame_protector/frame_handler.h +236 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +903 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +160 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +83 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.h +73 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +705 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +104 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +89 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +64 -0
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +53 -0
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +223 -0
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +171 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +226 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +54 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +144 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +49 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +91 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +174 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +99 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +478 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +199 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +307 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +57 -0
- data/src/core/tsi/fake_transport_security.cc +809 -0
- data/src/core/tsi/fake_transport_security.h +47 -0
- data/src/core/tsi/local_transport_security.cc +178 -0
- data/src/core/tsi/local_transport_security.h +50 -0
- data/src/core/tsi/ssl/session_cache/ssl_session.h +71 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +57 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +179 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +92 -0
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +75 -0
- data/src/core/tsi/ssl_transport_security.cc +2260 -0
- data/src/core/tsi/ssl_transport_security.h +366 -0
- data/src/core/tsi/ssl_types.h +42 -0
- data/src/core/tsi/transport_security.cc +384 -0
- data/src/core/tsi/transport_security.h +142 -0
- data/src/core/tsi/transport_security_grpc.cc +73 -0
- data/src/core/tsi/transport_security_grpc.h +80 -0
- data/src/core/tsi/transport_security_interface.h +507 -0
- data/src/ruby/bin/math_client.rb +140 -0
- data/src/ruby/bin/math_pb.rb +34 -0
- data/src/ruby/bin/math_server.rb +191 -0
- data/src/ruby/bin/math_services_pb.rb +51 -0
- data/src/ruby/bin/noproto_client.rb +93 -0
- data/src/ruby/bin/noproto_server.rb +97 -0
- data/src/ruby/ext/grpc/ext-export.clang +1 -0
- data/src/ruby/ext/grpc/ext-export.gcc +6 -0
- data/src/ruby/ext/grpc/extconf.rb +129 -0
- data/src/ruby/ext/grpc/extconf.rb.orig +130 -0
- data/src/ruby/ext/grpc/extconf.rb.rej +18 -0
- data/src/ruby/ext/grpc/rb_byte_buffer.c +65 -0
- data/src/ruby/ext/grpc/rb_byte_buffer.h +35 -0
- data/src/ruby/ext/grpc/rb_call.c +1051 -0
- data/src/ruby/ext/grpc/rb_call.h +57 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +341 -0
- data/src/ruby/ext/grpc/rb_call_credentials.h +31 -0
- data/src/ruby/ext/grpc/rb_channel.c +846 -0
- data/src/ruby/ext/grpc/rb_channel.h +34 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +155 -0
- data/src/ruby/ext/grpc/rb_channel_args.h +38 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +286 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.h +37 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +101 -0
- data/src/ruby/ext/grpc/rb_completion_queue.h +36 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +471 -0
- data/src/ruby/ext/grpc/rb_compression_options.h +29 -0
- data/src/ruby/ext/grpc/rb_enable_cpp.cc +22 -0
- data/src/ruby/ext/grpc/rb_event_thread.c +145 -0
- data/src/ruby/ext/grpc/rb_event_thread.h +21 -0
- data/src/ruby/ext/grpc/rb_grpc.c +333 -0
- data/src/ruby/ext/grpc/rb_grpc.h +77 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +605 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +913 -0
- data/src/ruby/ext/grpc/rb_loader.c +57 -0
- data/src/ruby/ext/grpc/rb_loader.h +25 -0
- data/src/ruby/ext/grpc/rb_server.c +385 -0
- data/src/ruby/ext/grpc/rb_server.h +32 -0
- data/src/ruby/ext/grpc/rb_server_credentials.c +259 -0
- data/src/ruby/ext/grpc/rb_server_credentials.h +37 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +218 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +37 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +170 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +37 -0
- data/src/ruby/lib/grpc/core/status_codes.rb +135 -0
- data/src/ruby/lib/grpc/core/time_consts.rb +56 -0
- data/src/ruby/lib/grpc/errors.rb +277 -0
- data/src/ruby/lib/grpc/generic/active_call.rb +669 -0
- data/src/ruby/lib/grpc/generic/bidi_call.rb +233 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +503 -0
- data/src/ruby/lib/grpc/generic/interceptor_registry.rb +53 -0
- data/src/ruby/lib/grpc/generic/interceptors.rb +186 -0
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +204 -0
- data/src/ruby/lib/grpc/generic/rpc_server.rb +551 -0
- data/src/ruby/lib/grpc/generic/service.rb +211 -0
- data/src/ruby/lib/grpc/google_rpc_status_utils.rb +40 -0
- data/src/ruby/lib/grpc/grpc.rb +24 -0
- data/src/ruby/lib/grpc/logconfig.rb +44 -0
- data/src/ruby/lib/grpc/notifier.rb +45 -0
- data/src/ruby/lib/grpc/structs.rb +15 -0
- data/src/ruby/lib/grpc/version.rb +18 -0
- data/src/ruby/lib/grpc.rb +37 -0
- data/src/ruby/pb/README.md +42 -0
- data/src/ruby/pb/generate_proto_ruby.sh +51 -0
- data/src/ruby/pb/grpc/health/checker.rb +75 -0
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +31 -0
- data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +62 -0
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +44 -0
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +28 -0
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +49 -0
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +17 -0
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +145 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +16 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +152 -0
- data/src/ruby/spec/call_credentials_spec.rb +42 -0
- data/src/ruby/spec/call_spec.rb +180 -0
- data/src/ruby/spec/channel_connection_spec.rb +126 -0
- data/src/ruby/spec/channel_credentials_spec.rb +124 -0
- data/src/ruby/spec/channel_spec.rb +245 -0
- data/src/ruby/spec/client_auth_spec.rb +152 -0
- data/src/ruby/spec/client_server_spec.rb +664 -0
- data/src/ruby/spec/compression_options_spec.rb +149 -0
- data/src/ruby/spec/debug_message_spec.rb +134 -0
- data/src/ruby/spec/error_sanity_spec.rb +49 -0
- data/src/ruby/spec/errors_spec.rb +142 -0
- data/src/ruby/spec/errors_spec.rb.rej +11 -0
- data/src/ruby/spec/generic/active_call_spec.rb +683 -0
- data/src/ruby/spec/generic/client_interceptors_spec.rb +153 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +1083 -0
- data/src/ruby/spec/generic/interceptor_registry_spec.rb +65 -0
- data/src/ruby/spec/generic/rpc_desc_spec.rb +374 -0
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +127 -0
- data/src/ruby/spec/generic/rpc_server_spec.rb +748 -0
- data/src/ruby/spec/generic/server_interceptors_spec.rb +218 -0
- data/src/ruby/spec/generic/service_spec.rb +263 -0
- data/src/ruby/spec/google_rpc_status_utils_spec.rb +282 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options.proto +28 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto +22 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto +23 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto +41 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto +27 -0
- data/src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto +29 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +98 -0
- data/src/ruby/spec/pb/duplicate/codegen_spec.rb +57 -0
- data/src/ruby/spec/pb/health/checker_spec.rb +236 -0
- data/src/ruby/spec/server_credentials_spec.rb +104 -0
- data/src/ruby/spec/server_spec.rb +231 -0
- data/src/ruby/spec/spec_helper.rb +61 -0
- data/src/ruby/spec/support/helpers.rb +107 -0
- data/src/ruby/spec/support/services.rb +160 -0
- data/src/ruby/spec/testdata/README +1 -0
- data/src/ruby/spec/testdata/ca.pem +20 -0
- data/src/ruby/spec/testdata/client.key +28 -0
- data/src/ruby/spec/testdata/client.pem +20 -0
- data/src/ruby/spec/testdata/server1.key +28 -0
- data/src/ruby/spec/testdata/server1.pem +22 -0
- data/src/ruby/spec/time_consts_spec.rb +74 -0
- data/src/ruby/spec/user_agent_spec.rb +74 -0
- data/third_party/abseil-cpp/absl/algorithm/algorithm.h +159 -0
- data/third_party/abseil-cpp/absl/algorithm/container.h +1764 -0
- data/third_party/abseil-cpp/absl/base/attributes.h +702 -0
- data/third_party/abseil-cpp/absl/base/call_once.h +219 -0
- data/third_party/abseil-cpp/absl/base/casts.h +187 -0
- data/third_party/abseil-cpp/absl/base/config.h +742 -0
- data/third_party/abseil-cpp/absl/base/const_init.h +76 -0
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +496 -0
- data/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +107 -0
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +94 -0
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +169 -0
- data/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
- data/third_party/abseil-cpp/absl/base/internal/endian.h +327 -0
- data/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
- data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
- data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
- data/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
- data/third_party/abseil-cpp/absl/base/internal/identity.h +37 -0
- data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +107 -0
- data/third_party/abseil-cpp/absl/base/internal/invoke.h +187 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
- data/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +242 -0
- data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +195 -0
- data/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +229 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +246 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +74 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +93 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +37 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +439 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +271 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +155 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +265 -0
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +212 -0
- data/third_party/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
- data/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +82 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +138 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +124 -0
- data/third_party/abseil-cpp/absl/base/log_severity.cc +27 -0
- data/third_party/abseil-cpp/absl/base/log_severity.h +121 -0
- data/third_party/abseil-cpp/absl/base/macros.h +158 -0
- data/third_party/abseil-cpp/absl/base/optimization.h +244 -0
- data/third_party/abseil-cpp/absl/base/options.h +238 -0
- data/third_party/abseil-cpp/absl/base/policy_checks.h +111 -0
- data/third_party/abseil-cpp/absl/base/port.h +25 -0
- data/third_party/abseil-cpp/absl/base/thread_annotations.h +335 -0
- data/third_party/abseil-cpp/absl/container/fixed_array.h +532 -0
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +847 -0
- data/third_party/abseil-cpp/absl/container/internal/common.h +206 -0
- data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +290 -0
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +460 -0
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +161 -0
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +208 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +274 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +322 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
- data/third_party/abseil-cpp/absl/container/internal/have_sse.h +50 -0
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +967 -0
- data/third_party/abseil-cpp/absl/container/internal/layout.h +743 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +61 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1903 -0
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +139 -0
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1949 -0
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +199 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +134 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +80 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +108 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +253 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +93 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +147 -0
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +173 -0
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +36 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +101 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1560 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
- data/third_party/abseil-cpp/absl/functional/bind_front.h +184 -0
- data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
- data/third_party/abseil-cpp/absl/hash/hash.h +325 -0
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +349 -0
- data/third_party/abseil-cpp/absl/hash/internal/city.h +78 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +70 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +1045 -0
- 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/memory/memory.h +699 -0
- data/third_party/abseil-cpp/absl/meta/type_traits.h +767 -0
- data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
- data/third_party/abseil-cpp/absl/numeric/int128.cc +390 -0
- data/third_party/abseil-cpp/absl/numeric/int128.h +1092 -0
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +302 -0
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +308 -0
- 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 +69 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
- data/third_party/abseil-cpp/absl/status/status.cc +452 -0
- data/third_party/abseil-cpp/absl/status/status.h +878 -0
- data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +38 -0
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
- data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
- data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
- data/third_party/abseil-cpp/absl/strings/ascii.cc +200 -0
- data/third_party/abseil-cpp/absl/strings/ascii.h +242 -0
- data/third_party/abseil-cpp/absl/strings/charconv.cc +984 -0
- data/third_party/abseil-cpp/absl/strings/charconv.h +119 -0
- data/third_party/abseil-cpp/absl/strings/cord.cc +1953 -0
- data/third_party/abseil-cpp/absl/strings/cord.h +1394 -0
- data/third_party/abseil-cpp/absl/strings/escaping.cc +949 -0
- data/third_party/abseil-cpp/absl/strings/escaping.h +164 -0
- data/third_party/abseil-cpp/absl/strings/internal/char_map.h +156 -0
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +359 -0
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +423 -0
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +543 -0
- 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/escaping.cc +180 -0
- data/third_party/abseil-cpp/absl/strings/internal/escaping.h +58 -0
- data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +112 -0
- data/third_party/abseil-cpp/absl/strings/internal/memutil.h +148 -0
- data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +36 -0
- data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +89 -0
- data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +73 -0
- data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +488 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +518 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +259 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +217 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +333 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +75 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +427 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1423 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +72 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +96 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +350 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +349 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +314 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +430 -0
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
- data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +53 -0
- data/third_party/abseil-cpp/absl/strings/internal/utf8.h +50 -0
- data/third_party/abseil-cpp/absl/strings/match.cc +43 -0
- data/third_party/abseil-cpp/absl/strings/match.h +100 -0
- data/third_party/abseil-cpp/absl/strings/numbers.cc +1093 -0
- data/third_party/abseil-cpp/absl/strings/numbers.h +266 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +246 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.h +408 -0
- data/third_party/abseil-cpp/absl/strings/str_format.h +813 -0
- data/third_party/abseil-cpp/absl/strings/str_join.h +293 -0
- data/third_party/abseil-cpp/absl/strings/str_replace.cc +82 -0
- data/third_party/abseil-cpp/absl/strings/str_replace.h +219 -0
- data/third_party/abseil-cpp/absl/strings/str_split.cc +139 -0
- data/third_party/abseil-cpp/absl/strings/str_split.h +548 -0
- data/third_party/abseil-cpp/absl/strings/string_view.cc +235 -0
- data/third_party/abseil-cpp/absl/strings/string_view.h +629 -0
- data/third_party/abseil-cpp/absl/strings/strip.h +91 -0
- data/third_party/abseil-cpp/absl/strings/substitute.cc +171 -0
- data/third_party/abseil-cpp/absl/strings/substitute.h +696 -0
- data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
- data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +698 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +156 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +428 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +155 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2751 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +1082 -0
- data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
- data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
- data/third_party/abseil-cpp/absl/time/civil_time.cc +175 -0
- data/third_party/abseil-cpp/absl/time/civil_time.h +538 -0
- data/third_party/abseil-cpp/absl/time/clock.cc +585 -0
- data/third_party/abseil-cpp/absl/time/clock.h +74 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +954 -0
- data/third_party/abseil-cpp/absl/time/format.cc +160 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +628 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +386 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1029 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +76 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +113 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +965 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +137 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +315 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +187 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
- data/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
- data/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
- data/third_party/abseil-cpp/absl/time/time.cc +500 -0
- data/third_party/abseil-cpp/absl/time/time.h +1585 -0
- data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +48 -0
- data/third_party/abseil-cpp/absl/types/bad_optional_access.h +78 -0
- data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
- data/third_party/abseil-cpp/absl/types/internal/optional.h +396 -0
- data/third_party/abseil-cpp/absl/types/internal/span.h +128 -0
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
- data/third_party/abseil-cpp/absl/types/optional.h +776 -0
- data/third_party/abseil-cpp/absl/types/span.h +726 -0
- data/third_party/abseil-cpp/absl/types/variant.h +866 -0
- data/third_party/abseil-cpp/absl/utility/utility.h +350 -0
- data/third_party/address_sorting/address_sorting.c +375 -0
- data/third_party/address_sorting/address_sorting_internal.h +70 -0
- data/third_party/address_sorting/address_sorting_posix.c +98 -0
- data/third_party/address_sorting/address_sorting_windows.c +95 -0
- data/third_party/address_sorting/include/address_sorting/address_sorting.h +115 -0
- data/third_party/boringssl-with-bazel/err_data.c +1489 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +276 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +122 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +91 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +195 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +266 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +88 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +420 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +298 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +288 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +77 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +83 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +650 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +266 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +212 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +163 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +264 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +236 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +440 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +80 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +105 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +15 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +93 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +97 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +91 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +196 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +1193 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +709 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +233 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +332 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +129 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +281 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +206 -0
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +469 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +702 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +324 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +541 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +275 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +311 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +192 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +111 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +483 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +115 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +192 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +122 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +156 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +57 -0
- data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +470 -0
- data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +172 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +52 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +264 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +728 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +711 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +96 -0
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +155 -0
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +175 -0
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +45 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +127 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +152 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c +447 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +283 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +891 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +343 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +85 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +462 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +601 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +226 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +338 -0
- data/third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c +278 -0
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +821 -0
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +127 -0
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +31 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c +55 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c +62 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +229 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h +201 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +38 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c +291 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c +38 -0
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +226 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +2159 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +7872 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +146 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +539 -0
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +160 -0
- data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +272 -0
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +268 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +946 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +390 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +559 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +95 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +385 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +124 -0
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +267 -0
- data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +99 -0
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +857 -0
- data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c +231 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +456 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +547 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +484 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +269 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +277 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +286 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +255 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +221 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +648 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +194 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +110 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +248 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +146 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +489 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +211 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +151 -0
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +261 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +108 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +1282 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +238 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +236 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +122 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +266 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +316 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +541 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +438 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +230 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +200 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +236 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +902 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +1288 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +378 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +326 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +711 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +715 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c +146 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +502 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +186 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +749 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +1064 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +341 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +226 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +104 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +364 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +498 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +284 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +636 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +1473 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c +237 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +128 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +89 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +784 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +238 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +217 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +456 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +282 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +304 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +112 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +195 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +1268 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +472 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +524 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +100 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +772 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +328 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +1180 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h +9497 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c +633 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h +153 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +740 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +297 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +175 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +357 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +270 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +255 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +270 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +122 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +339 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +32 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +228 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +240 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +284 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +178 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +203 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +201 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +733 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +304 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +420 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +97 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +91 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +202 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +137 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +49 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +64 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +184 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +457 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +401 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +243 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +131 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +695 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +935 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +1416 -0
- 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 +874 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +53 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +361 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +357 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +321 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +508 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +165 -0
- data/third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c +112 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +618 -0
- data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +2198 -0
- data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +68 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +959 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
- data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +353 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +392 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +553 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +11585 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +122 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +252 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +358 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +769 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +87 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +255 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +214 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +65 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +164 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +526 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +138 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +316 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +530 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1383 -0
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +321 -0
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +307 -0
- data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +860 -0
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +45 -0
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +221 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +56 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +46 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +34 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +74 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +73 -0
- data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +98 -0
- data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +67 -0
- data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +53 -0
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +324 -0
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +22 -0
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +82 -0
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +425 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread.c +110 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +59 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +182 -0
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +260 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +318 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +1399 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +858 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +766 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +96 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +128 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +118 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +163 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +842 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +459 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +277 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +83 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +398 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +400 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +130 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +246 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +365 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +116 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +90 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +358 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +461 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +106 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +103 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +212 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +830 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +199 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +304 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +240 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +331 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +204 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +281 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +2456 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +651 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +284 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +388 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +84 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +137 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +153 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +386 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +98 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +565 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +77 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +98 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +544 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +106 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +217 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +106 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +94 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +80 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +71 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +394 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +201 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +138 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +84 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +287 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +132 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +217 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +155 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +131 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +189 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +843 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +226 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +72 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +639 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +133 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +144 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +468 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +501 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +563 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +106 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +148 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +266 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +121 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +218 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +91 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +362 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +558 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +68 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +289 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +57 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +139 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +154 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +230 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +929 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +156 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1437 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +480 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +207 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +240 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1321 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +718 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +628 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +190 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +939 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +93 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1057 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +137 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +586 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +96 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +41 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +661 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +91 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +183 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +202 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +169 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +201 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/des.h +183 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +361 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +348 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +457 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +16 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +442 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +372 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +118 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +238 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +109 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +466 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1109 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +99 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +203 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +68 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +186 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +350 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +102 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +16 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +81 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +108 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +109 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +184 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +4259 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +256 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +70 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +483 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +240 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +277 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +49 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +102 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +114 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +96 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +108 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +859 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +16 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +294 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +37 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +222 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +5606 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +333 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +542 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +191 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +647 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +310 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +90 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2450 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +18 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1020 -0
- data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +192 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +835 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +268 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +273 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +232 -0
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +200 -0
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +353 -0
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1084 -0
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +4325 -0
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +986 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +758 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +1986 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1956 -0
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +3953 -0
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +730 -0
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +219 -0
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +453 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +432 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +896 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +306 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +1014 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +1717 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +585 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +400 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +3068 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +837 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +1342 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +233 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +272 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +398 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +1363 -0
- data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +384 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +733 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +1122 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +582 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +1349 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +319 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +705 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +981 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +619 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3147 -0
- data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1226 -0
- data/third_party/cares/ares_build.h +223 -0
- data/third_party/cares/cares/ares.h +670 -0
- data/third_party/cares/cares/ares__close_sockets.c +61 -0
- data/third_party/cares/cares/ares__get_hostent.c +261 -0
- data/third_party/cares/cares/ares__read_line.c +73 -0
- data/third_party/cares/cares/ares__timeval.c +111 -0
- data/third_party/cares/cares/ares_cancel.c +63 -0
- data/third_party/cares/cares/ares_create_query.c +206 -0
- data/third_party/cares/cares/ares_data.c +222 -0
- data/third_party/cares/cares/ares_data.h +72 -0
- data/third_party/cares/cares/ares_destroy.c +113 -0
- data/third_party/cares/cares/ares_dns.h +103 -0
- data/third_party/cares/cares/ares_expand_name.c +209 -0
- data/third_party/cares/cares/ares_expand_string.c +70 -0
- data/third_party/cares/cares/ares_fds.c +59 -0
- data/third_party/cares/cares/ares_free_hostent.c +41 -0
- data/third_party/cares/cares/ares_free_string.c +25 -0
- data/third_party/cares/cares/ares_getenv.c +30 -0
- data/third_party/cares/cares/ares_getenv.h +26 -0
- data/third_party/cares/cares/ares_gethostbyaddr.c +294 -0
- data/third_party/cares/cares/ares_gethostbyname.c +529 -0
- data/third_party/cares/cares/ares_getnameinfo.c +453 -0
- data/third_party/cares/cares/ares_getopt.c +122 -0
- data/third_party/cares/cares/ares_getopt.h +53 -0
- data/third_party/cares/cares/ares_getsock.c +66 -0
- data/third_party/cares/cares/ares_inet_net_pton.h +25 -0
- data/third_party/cares/cares/ares_init.c +2615 -0
- data/third_party/cares/cares/ares_iphlpapi.h +221 -0
- data/third_party/cares/cares/ares_ipv6.h +78 -0
- data/third_party/cares/cares/ares_library_init.c +195 -0
- data/third_party/cares/cares/ares_library_init.h +43 -0
- data/third_party/cares/cares/ares_llist.c +63 -0
- data/third_party/cares/cares/ares_llist.h +39 -0
- data/third_party/cares/cares/ares_mkquery.c +24 -0
- data/third_party/cares/cares/ares_nowarn.c +260 -0
- data/third_party/cares/cares/ares_nowarn.h +61 -0
- data/third_party/cares/cares/ares_options.c +406 -0
- data/third_party/cares/cares/ares_parse_a_reply.c +264 -0
- data/third_party/cares/cares/ares_parse_aaaa_reply.c +264 -0
- data/third_party/cares/cares/ares_parse_mx_reply.c +170 -0
- data/third_party/cares/cares/ares_parse_naptr_reply.c +194 -0
- data/third_party/cares/cares/ares_parse_ns_reply.c +183 -0
- data/third_party/cares/cares/ares_parse_ptr_reply.c +221 -0
- data/third_party/cares/cares/ares_parse_soa_reply.c +133 -0
- data/third_party/cares/cares/ares_parse_srv_reply.c +179 -0
- data/third_party/cares/cares/ares_parse_txt_reply.c +220 -0
- data/third_party/cares/cares/ares_platform.c +11042 -0
- data/third_party/cares/cares/ares_platform.h +43 -0
- data/third_party/cares/cares/ares_private.h +382 -0
- data/third_party/cares/cares/ares_process.c +1473 -0
- data/third_party/cares/cares/ares_query.c +186 -0
- data/third_party/cares/cares/ares_rules.h +125 -0
- data/third_party/cares/cares/ares_search.c +323 -0
- data/third_party/cares/cares/ares_send.c +137 -0
- data/third_party/cares/cares/ares_setup.h +217 -0
- data/third_party/cares/cares/ares_strcasecmp.c +66 -0
- data/third_party/cares/cares/ares_strcasecmp.h +30 -0
- data/third_party/cares/cares/ares_strdup.c +49 -0
- data/third_party/cares/cares/ares_strdup.h +24 -0
- data/third_party/cares/cares/ares_strerror.c +56 -0
- data/third_party/cares/cares/ares_strsplit.c +174 -0
- data/third_party/cares/cares/ares_strsplit.h +43 -0
- data/third_party/cares/cares/ares_timeout.c +88 -0
- data/third_party/cares/cares/ares_version.c +11 -0
- data/third_party/cares/cares/ares_version.h +24 -0
- data/third_party/cares/cares/ares_writev.c +79 -0
- data/third_party/cares/cares/bitncmp.c +59 -0
- data/third_party/cares/cares/bitncmp.h +26 -0
- data/third_party/cares/cares/config-win32.h +351 -0
- data/third_party/cares/cares/inet_net_pton.c +450 -0
- data/third_party/cares/cares/inet_ntop.c +207 -0
- data/third_party/cares/cares/setup_once.h +554 -0
- data/third_party/cares/cares/windows_port.c +22 -0
- data/third_party/cares/config_darwin/ares_config.h +428 -0
- data/third_party/cares/config_freebsd/ares_config.h +505 -0
- data/third_party/cares/config_linux/ares_config.h +461 -0
- data/third_party/cares/config_openbsd/ares_config.h +505 -0
- data/third_party/re2/re2/bitmap256.h +117 -0
- data/third_party/re2/re2/bitstate.cc +385 -0
- data/third_party/re2/re2/compile.cc +1261 -0
- data/third_party/re2/re2/dfa.cc +2118 -0
- data/third_party/re2/re2/filtered_re2.cc +137 -0
- data/third_party/re2/re2/filtered_re2.h +114 -0
- data/third_party/re2/re2/mimics_pcre.cc +197 -0
- data/third_party/re2/re2/nfa.cc +713 -0
- data/third_party/re2/re2/onepass.cc +623 -0
- data/third_party/re2/re2/parse.cc +2483 -0
- data/third_party/re2/re2/perl_groups.cc +119 -0
- data/third_party/re2/re2/pod_array.h +55 -0
- data/third_party/re2/re2/prefilter.cc +711 -0
- data/third_party/re2/re2/prefilter.h +108 -0
- data/third_party/re2/re2/prefilter_tree.cc +407 -0
- data/third_party/re2/re2/prefilter_tree.h +139 -0
- data/third_party/re2/re2/prog.cc +1166 -0
- data/third_party/re2/re2/prog.h +455 -0
- data/third_party/re2/re2/re2.cc +1331 -0
- data/third_party/re2/re2/re2.h +1017 -0
- data/third_party/re2/re2/regexp.cc +987 -0
- data/third_party/re2/re2/regexp.h +665 -0
- data/third_party/re2/re2/set.cc +176 -0
- data/third_party/re2/re2/set.h +85 -0
- data/third_party/re2/re2/simplify.cc +665 -0
- data/third_party/re2/re2/sparse_array.h +392 -0
- data/third_party/re2/re2/sparse_set.h +264 -0
- data/third_party/re2/re2/stringpiece.cc +65 -0
- data/third_party/re2/re2/stringpiece.h +210 -0
- data/third_party/re2/re2/tostring.cc +351 -0
- data/third_party/re2/re2/unicode_casefold.cc +582 -0
- data/third_party/re2/re2/unicode_casefold.h +78 -0
- data/third_party/re2/re2/unicode_groups.cc +6269 -0
- data/third_party/re2/re2/unicode_groups.h +67 -0
- data/third_party/re2/re2/walker-inl.h +246 -0
- data/third_party/re2/util/benchmark.h +156 -0
- data/third_party/re2/util/flags.h +26 -0
- data/third_party/re2/util/logging.h +109 -0
- data/third_party/re2/util/malloc_counter.h +19 -0
- data/third_party/re2/util/mix.h +41 -0
- data/third_party/re2/util/mutex.h +148 -0
- data/third_party/re2/util/pcre.cc +1025 -0
- data/third_party/re2/util/pcre.h +681 -0
- data/third_party/re2/util/rune.cc +260 -0
- data/third_party/re2/util/strutil.cc +149 -0
- data/third_party/re2/util/strutil.h +21 -0
- data/third_party/re2/util/test.h +50 -0
- data/third_party/re2/util/utf.h +44 -0
- data/third_party/re2/util/util.h +42 -0
- data/third_party/upb/upb/decode.c +771 -0
- data/third_party/upb/upb/decode.h +68 -0
- data/third_party/upb/upb/decode_fast.c +1053 -0
- data/third_party/upb/upb/decode_fast.h +153 -0
- data/third_party/upb/upb/decode_internal.h +193 -0
- data/third_party/upb/upb/def.c +2168 -0
- data/third_party/upb/upb/def.h +337 -0
- data/third_party/upb/upb/def.hpp +468 -0
- data/third_party/upb/upb/encode.c +511 -0
- data/third_party/upb/upb/encode.h +73 -0
- data/third_party/upb/upb/msg.c +397 -0
- data/third_party/upb/upb/msg.h +108 -0
- data/third_party/upb/upb/msg_internal.h +687 -0
- data/third_party/upb/upb/port_def.inc +253 -0
- data/third_party/upb/upb/port_undef.inc +61 -0
- data/third_party/upb/upb/reflection.c +400 -0
- data/third_party/upb/upb/reflection.h +196 -0
- data/third_party/upb/upb/reflection.hpp +37 -0
- data/third_party/upb/upb/table.c +842 -0
- data/third_party/upb/upb/table_internal.h +351 -0
- data/third_party/upb/upb/text_encode.c +449 -0
- data/third_party/upb/upb/text_encode.h +64 -0
- data/third_party/upb/upb/upb.c +315 -0
- data/third_party/upb/upb/upb.h +367 -0
- data/third_party/upb/upb/upb.hpp +112 -0
- data/third_party/upb/upb/upb_internal.h +58 -0
- data/third_party/xxhash/xxhash.h +5325 -0
- data/third_party/zlib/adler32.c +186 -0
- data/third_party/zlib/compress.c +86 -0
- data/third_party/zlib/crc32.c +442 -0
- data/third_party/zlib/crc32.h +441 -0
- data/third_party/zlib/deflate.c +2163 -0
- data/third_party/zlib/deflate.h +349 -0
- data/third_party/zlib/gzclose.c +25 -0
- data/third_party/zlib/gzguts.h +218 -0
- data/third_party/zlib/gzlib.c +637 -0
- data/third_party/zlib/gzread.c +654 -0
- data/third_party/zlib/gzwrite.c +665 -0
- data/third_party/zlib/infback.c +640 -0
- data/third_party/zlib/inffast.c +323 -0
- data/third_party/zlib/inffast.h +11 -0
- data/third_party/zlib/inffixed.h +94 -0
- data/third_party/zlib/inflate.c +1561 -0
- data/third_party/zlib/inflate.h +125 -0
- data/third_party/zlib/inftrees.c +304 -0
- data/third_party/zlib/inftrees.h +62 -0
- data/third_party/zlib/trees.c +1203 -0
- data/third_party/zlib/trees.h +128 -0
- data/third_party/zlib/uncompr.c +93 -0
- data/third_party/zlib/zconf.h +534 -0
- data/third_party/zlib/zlib.h +1912 -0
- data/third_party/zlib/zutil.c +325 -0
- data/third_party/zlib/zutil.h +271 -0
- metadata +2563 -0
@@ -0,0 +1,1585 @@
|
|
1
|
+
// Copyright 2017 The Abseil Authors.
|
2
|
+
//
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
// you may not use this file except in compliance with the License.
|
5
|
+
// You may obtain a copy of the License at
|
6
|
+
//
|
7
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
//
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
// See the License for the specific language governing permissions and
|
13
|
+
// limitations under the License.
|
14
|
+
//
|
15
|
+
// -----------------------------------------------------------------------------
|
16
|
+
// File: time.h
|
17
|
+
// -----------------------------------------------------------------------------
|
18
|
+
//
|
19
|
+
// This header file defines abstractions for computing with absolute points
|
20
|
+
// in time, durations of time, and formatting and parsing time within a given
|
21
|
+
// time zone. The following abstractions are defined:
|
22
|
+
//
|
23
|
+
// * `absl::Time` defines an absolute, specific instance in time
|
24
|
+
// * `absl::Duration` defines a signed, fixed-length span of time
|
25
|
+
// * `absl::TimeZone` defines geopolitical time zone regions (as collected
|
26
|
+
// within the IANA Time Zone database (https://www.iana.org/time-zones)).
|
27
|
+
//
|
28
|
+
// Note: Absolute times are distinct from civil times, which refer to the
|
29
|
+
// human-scale time commonly represented by `YYYY-MM-DD hh:mm:ss`. The mapping
|
30
|
+
// between absolute and civil times can be specified by use of time zones
|
31
|
+
// (`absl::TimeZone` within this API). That is:
|
32
|
+
//
|
33
|
+
// Civil Time = F(Absolute Time, Time Zone)
|
34
|
+
// Absolute Time = G(Civil Time, Time Zone)
|
35
|
+
//
|
36
|
+
// See civil_time.h for abstractions related to constructing and manipulating
|
37
|
+
// civil time.
|
38
|
+
//
|
39
|
+
// Example:
|
40
|
+
//
|
41
|
+
// absl::TimeZone nyc;
|
42
|
+
// // LoadTimeZone() may fail so it's always better to check for success.
|
43
|
+
// if (!absl::LoadTimeZone("America/New_York", &nyc)) {
|
44
|
+
// // handle error case
|
45
|
+
// }
|
46
|
+
//
|
47
|
+
// // My flight leaves NYC on Jan 2, 2017 at 03:04:05
|
48
|
+
// absl::CivilSecond cs(2017, 1, 2, 3, 4, 5);
|
49
|
+
// absl::Time takeoff = absl::FromCivil(cs, nyc);
|
50
|
+
//
|
51
|
+
// absl::Duration flight_duration = absl::Hours(21) + absl::Minutes(35);
|
52
|
+
// absl::Time landing = takeoff + flight_duration;
|
53
|
+
//
|
54
|
+
// absl::TimeZone syd;
|
55
|
+
// if (!absl::LoadTimeZone("Australia/Sydney", &syd)) {
|
56
|
+
// // handle error case
|
57
|
+
// }
|
58
|
+
// std::string s = absl::FormatTime(
|
59
|
+
// "My flight will land in Sydney on %Y-%m-%d at %H:%M:%S",
|
60
|
+
// landing, syd);
|
61
|
+
|
62
|
+
#ifndef ABSL_TIME_TIME_H_
|
63
|
+
#define ABSL_TIME_TIME_H_
|
64
|
+
|
65
|
+
#if !defined(_MSC_VER)
|
66
|
+
#include <sys/time.h>
|
67
|
+
#else
|
68
|
+
// We don't include `winsock2.h` because it drags in `windows.h` and friends,
|
69
|
+
// and they define conflicting macros like OPAQUE, ERROR, and more. This has the
|
70
|
+
// potential to break Abseil users.
|
71
|
+
//
|
72
|
+
// Instead we only forward declare `timeval` and require Windows users include
|
73
|
+
// `winsock2.h` themselves. This is both inconsistent and troublesome, but so is
|
74
|
+
// including 'windows.h' so we are picking the lesser of two evils here.
|
75
|
+
struct timeval;
|
76
|
+
#endif
|
77
|
+
#include <chrono> // NOLINT(build/c++11)
|
78
|
+
#include <cmath>
|
79
|
+
#include <cstdint>
|
80
|
+
#include <ctime>
|
81
|
+
#include <ostream>
|
82
|
+
#include <string>
|
83
|
+
#include <type_traits>
|
84
|
+
#include <utility>
|
85
|
+
|
86
|
+
#include "absl/base/macros.h"
|
87
|
+
#include "absl/strings/string_view.h"
|
88
|
+
#include "absl/time/civil_time.h"
|
89
|
+
#include "absl/time/internal/cctz/include/cctz/time_zone.h"
|
90
|
+
|
91
|
+
namespace absl {
|
92
|
+
ABSL_NAMESPACE_BEGIN
|
93
|
+
|
94
|
+
class Duration; // Defined below
|
95
|
+
class Time; // Defined below
|
96
|
+
class TimeZone; // Defined below
|
97
|
+
|
98
|
+
namespace time_internal {
|
99
|
+
int64_t IDivDuration(bool satq, Duration num, Duration den, Duration* rem);
|
100
|
+
constexpr Time FromUnixDuration(Duration d);
|
101
|
+
constexpr Duration ToUnixDuration(Time t);
|
102
|
+
constexpr int64_t GetRepHi(Duration d);
|
103
|
+
constexpr uint32_t GetRepLo(Duration d);
|
104
|
+
constexpr Duration MakeDuration(int64_t hi, uint32_t lo);
|
105
|
+
constexpr Duration MakeDuration(int64_t hi, int64_t lo);
|
106
|
+
inline Duration MakePosDoubleDuration(double n);
|
107
|
+
constexpr int64_t kTicksPerNanosecond = 4;
|
108
|
+
constexpr int64_t kTicksPerSecond = 1000 * 1000 * 1000 * kTicksPerNanosecond;
|
109
|
+
template <std::intmax_t N>
|
110
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<1, N>);
|
111
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<60>);
|
112
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<3600>);
|
113
|
+
template <typename T>
|
114
|
+
using EnableIfIntegral = typename std::enable_if<
|
115
|
+
std::is_integral<T>::value || std::is_enum<T>::value, int>::type;
|
116
|
+
template <typename T>
|
117
|
+
using EnableIfFloat =
|
118
|
+
typename std::enable_if<std::is_floating_point<T>::value, int>::type;
|
119
|
+
} // namespace time_internal
|
120
|
+
|
121
|
+
// Duration
|
122
|
+
//
|
123
|
+
// The `absl::Duration` class represents a signed, fixed-length span of time.
|
124
|
+
// A `Duration` is generated using a unit-specific factory function, or is
|
125
|
+
// the result of subtracting one `absl::Time` from another. Durations behave
|
126
|
+
// like unit-safe integers and they support all the natural integer-like
|
127
|
+
// arithmetic operations. Arithmetic overflows and saturates at +/- infinity.
|
128
|
+
// `Duration` should be passed by value rather than const reference.
|
129
|
+
//
|
130
|
+
// Factory functions `Nanoseconds()`, `Microseconds()`, `Milliseconds()`,
|
131
|
+
// `Seconds()`, `Minutes()`, `Hours()` and `InfiniteDuration()` allow for
|
132
|
+
// creation of constexpr `Duration` values
|
133
|
+
//
|
134
|
+
// Examples:
|
135
|
+
//
|
136
|
+
// constexpr absl::Duration ten_ns = absl::Nanoseconds(10);
|
137
|
+
// constexpr absl::Duration min = absl::Minutes(1);
|
138
|
+
// constexpr absl::Duration hour = absl::Hours(1);
|
139
|
+
// absl::Duration dur = 60 * min; // dur == hour
|
140
|
+
// absl::Duration half_sec = absl::Milliseconds(500);
|
141
|
+
// absl::Duration quarter_sec = 0.25 * absl::Seconds(1);
|
142
|
+
//
|
143
|
+
// `Duration` values can be easily converted to an integral number of units
|
144
|
+
// using the division operator.
|
145
|
+
//
|
146
|
+
// Example:
|
147
|
+
//
|
148
|
+
// constexpr absl::Duration dur = absl::Milliseconds(1500);
|
149
|
+
// int64_t ns = dur / absl::Nanoseconds(1); // ns == 1500000000
|
150
|
+
// int64_t ms = dur / absl::Milliseconds(1); // ms == 1500
|
151
|
+
// int64_t sec = dur / absl::Seconds(1); // sec == 1 (subseconds truncated)
|
152
|
+
// int64_t min = dur / absl::Minutes(1); // min == 0
|
153
|
+
//
|
154
|
+
// See the `IDivDuration()` and `FDivDuration()` functions below for details on
|
155
|
+
// how to access the fractional parts of the quotient.
|
156
|
+
//
|
157
|
+
// Alternatively, conversions can be performed using helpers such as
|
158
|
+
// `ToInt64Microseconds()` and `ToDoubleSeconds()`.
|
159
|
+
class Duration {
|
160
|
+
public:
|
161
|
+
// Value semantics.
|
162
|
+
constexpr Duration() : rep_hi_(0), rep_lo_(0) {} // zero-length duration
|
163
|
+
|
164
|
+
// Copyable.
|
165
|
+
#if !defined(__clang__) && defined(_MSC_VER) && _MSC_VER < 1910
|
166
|
+
// Explicitly defining the constexpr copy constructor avoids an MSVC bug.
|
167
|
+
constexpr Duration(const Duration& d)
|
168
|
+
: rep_hi_(d.rep_hi_), rep_lo_(d.rep_lo_) {}
|
169
|
+
#else
|
170
|
+
constexpr Duration(const Duration& d) = default;
|
171
|
+
#endif
|
172
|
+
Duration& operator=(const Duration& d) = default;
|
173
|
+
|
174
|
+
// Compound assignment operators.
|
175
|
+
Duration& operator+=(Duration d);
|
176
|
+
Duration& operator-=(Duration d);
|
177
|
+
Duration& operator*=(int64_t r);
|
178
|
+
Duration& operator*=(double r);
|
179
|
+
Duration& operator/=(int64_t r);
|
180
|
+
Duration& operator/=(double r);
|
181
|
+
Duration& operator%=(Duration rhs);
|
182
|
+
|
183
|
+
// Overloads that forward to either the int64_t or double overloads above.
|
184
|
+
// Integer operands must be representable as int64_t.
|
185
|
+
template <typename T>
|
186
|
+
Duration& operator*=(T r) {
|
187
|
+
int64_t x = r;
|
188
|
+
return *this *= x;
|
189
|
+
}
|
190
|
+
template <typename T>
|
191
|
+
Duration& operator/=(T r) {
|
192
|
+
int64_t x = r;
|
193
|
+
return *this /= x;
|
194
|
+
}
|
195
|
+
Duration& operator*=(float r) { return *this *= static_cast<double>(r); }
|
196
|
+
Duration& operator/=(float r) { return *this /= static_cast<double>(r); }
|
197
|
+
|
198
|
+
template <typename H>
|
199
|
+
friend H AbslHashValue(H h, Duration d) {
|
200
|
+
return H::combine(std::move(h), d.rep_hi_, d.rep_lo_);
|
201
|
+
}
|
202
|
+
|
203
|
+
private:
|
204
|
+
friend constexpr int64_t time_internal::GetRepHi(Duration d);
|
205
|
+
friend constexpr uint32_t time_internal::GetRepLo(Duration d);
|
206
|
+
friend constexpr Duration time_internal::MakeDuration(int64_t hi,
|
207
|
+
uint32_t lo);
|
208
|
+
constexpr Duration(int64_t hi, uint32_t lo) : rep_hi_(hi), rep_lo_(lo) {}
|
209
|
+
int64_t rep_hi_;
|
210
|
+
uint32_t rep_lo_;
|
211
|
+
};
|
212
|
+
|
213
|
+
// Relational Operators
|
214
|
+
constexpr bool operator<(Duration lhs, Duration rhs);
|
215
|
+
constexpr bool operator>(Duration lhs, Duration rhs) { return rhs < lhs; }
|
216
|
+
constexpr bool operator>=(Duration lhs, Duration rhs) { return !(lhs < rhs); }
|
217
|
+
constexpr bool operator<=(Duration lhs, Duration rhs) { return !(rhs < lhs); }
|
218
|
+
constexpr bool operator==(Duration lhs, Duration rhs);
|
219
|
+
constexpr bool operator!=(Duration lhs, Duration rhs) { return !(lhs == rhs); }
|
220
|
+
|
221
|
+
// Additive Operators
|
222
|
+
constexpr Duration operator-(Duration d);
|
223
|
+
inline Duration operator+(Duration lhs, Duration rhs) { return lhs += rhs; }
|
224
|
+
inline Duration operator-(Duration lhs, Duration rhs) { return lhs -= rhs; }
|
225
|
+
|
226
|
+
// Multiplicative Operators
|
227
|
+
// Integer operands must be representable as int64_t.
|
228
|
+
template <typename T>
|
229
|
+
Duration operator*(Duration lhs, T rhs) {
|
230
|
+
return lhs *= rhs;
|
231
|
+
}
|
232
|
+
template <typename T>
|
233
|
+
Duration operator*(T lhs, Duration rhs) {
|
234
|
+
return rhs *= lhs;
|
235
|
+
}
|
236
|
+
template <typename T>
|
237
|
+
Duration operator/(Duration lhs, T rhs) {
|
238
|
+
return lhs /= rhs;
|
239
|
+
}
|
240
|
+
inline int64_t operator/(Duration lhs, Duration rhs) {
|
241
|
+
return time_internal::IDivDuration(true, lhs, rhs,
|
242
|
+
&lhs); // trunc towards zero
|
243
|
+
}
|
244
|
+
inline Duration operator%(Duration lhs, Duration rhs) { return lhs %= rhs; }
|
245
|
+
|
246
|
+
// IDivDuration()
|
247
|
+
//
|
248
|
+
// Divides a numerator `Duration` by a denominator `Duration`, returning the
|
249
|
+
// quotient and remainder. The remainder always has the same sign as the
|
250
|
+
// numerator. The returned quotient and remainder respect the identity:
|
251
|
+
//
|
252
|
+
// numerator = denominator * quotient + remainder
|
253
|
+
//
|
254
|
+
// Returned quotients are capped to the range of `int64_t`, with the difference
|
255
|
+
// spilling into the remainder to uphold the above identity. This means that the
|
256
|
+
// remainder returned could differ from the remainder returned by
|
257
|
+
// `Duration::operator%` for huge quotients.
|
258
|
+
//
|
259
|
+
// See also the notes on `InfiniteDuration()` below regarding the behavior of
|
260
|
+
// division involving zero and infinite durations.
|
261
|
+
//
|
262
|
+
// Example:
|
263
|
+
//
|
264
|
+
// constexpr absl::Duration a =
|
265
|
+
// absl::Seconds(std::numeric_limits<int64_t>::max()); // big
|
266
|
+
// constexpr absl::Duration b = absl::Nanoseconds(1); // small
|
267
|
+
//
|
268
|
+
// absl::Duration rem = a % b;
|
269
|
+
// // rem == absl::ZeroDuration()
|
270
|
+
//
|
271
|
+
// // Here, q would overflow int64_t, so rem accounts for the difference.
|
272
|
+
// int64_t q = absl::IDivDuration(a, b, &rem);
|
273
|
+
// // q == std::numeric_limits<int64_t>::max(), rem == a - b * q
|
274
|
+
inline int64_t IDivDuration(Duration num, Duration den, Duration* rem) {
|
275
|
+
return time_internal::IDivDuration(true, num, den,
|
276
|
+
rem); // trunc towards zero
|
277
|
+
}
|
278
|
+
|
279
|
+
// FDivDuration()
|
280
|
+
//
|
281
|
+
// Divides a `Duration` numerator into a fractional number of units of a
|
282
|
+
// `Duration` denominator.
|
283
|
+
//
|
284
|
+
// See also the notes on `InfiniteDuration()` below regarding the behavior of
|
285
|
+
// division involving zero and infinite durations.
|
286
|
+
//
|
287
|
+
// Example:
|
288
|
+
//
|
289
|
+
// double d = absl::FDivDuration(absl::Milliseconds(1500), absl::Seconds(1));
|
290
|
+
// // d == 1.5
|
291
|
+
double FDivDuration(Duration num, Duration den);
|
292
|
+
|
293
|
+
// ZeroDuration()
|
294
|
+
//
|
295
|
+
// Returns a zero-length duration. This function behaves just like the default
|
296
|
+
// constructor, but the name helps make the semantics clear at call sites.
|
297
|
+
constexpr Duration ZeroDuration() { return Duration(); }
|
298
|
+
|
299
|
+
// AbsDuration()
|
300
|
+
//
|
301
|
+
// Returns the absolute value of a duration.
|
302
|
+
inline Duration AbsDuration(Duration d) {
|
303
|
+
return (d < ZeroDuration()) ? -d : d;
|
304
|
+
}
|
305
|
+
|
306
|
+
// Trunc()
|
307
|
+
//
|
308
|
+
// Truncates a duration (toward zero) to a multiple of a non-zero unit.
|
309
|
+
//
|
310
|
+
// Example:
|
311
|
+
//
|
312
|
+
// absl::Duration d = absl::Nanoseconds(123456789);
|
313
|
+
// absl::Duration a = absl::Trunc(d, absl::Microseconds(1)); // 123456us
|
314
|
+
Duration Trunc(Duration d, Duration unit);
|
315
|
+
|
316
|
+
// Floor()
|
317
|
+
//
|
318
|
+
// Floors a duration using the passed duration unit to its largest value not
|
319
|
+
// greater than the duration.
|
320
|
+
//
|
321
|
+
// Example:
|
322
|
+
//
|
323
|
+
// absl::Duration d = absl::Nanoseconds(123456789);
|
324
|
+
// absl::Duration b = absl::Floor(d, absl::Microseconds(1)); // 123456us
|
325
|
+
Duration Floor(Duration d, Duration unit);
|
326
|
+
|
327
|
+
// Ceil()
|
328
|
+
//
|
329
|
+
// Returns the ceiling of a duration using the passed duration unit to its
|
330
|
+
// smallest value not less than the duration.
|
331
|
+
//
|
332
|
+
// Example:
|
333
|
+
//
|
334
|
+
// absl::Duration d = absl::Nanoseconds(123456789);
|
335
|
+
// absl::Duration c = absl::Ceil(d, absl::Microseconds(1)); // 123457us
|
336
|
+
Duration Ceil(Duration d, Duration unit);
|
337
|
+
|
338
|
+
// InfiniteDuration()
|
339
|
+
//
|
340
|
+
// Returns an infinite `Duration`. To get a `Duration` representing negative
|
341
|
+
// infinity, use `-InfiniteDuration()`.
|
342
|
+
//
|
343
|
+
// Duration arithmetic overflows to +/- infinity and saturates. In general,
|
344
|
+
// arithmetic with `Duration` infinities is similar to IEEE 754 infinities
|
345
|
+
// except where IEEE 754 NaN would be involved, in which case +/-
|
346
|
+
// `InfiniteDuration()` is used in place of a "nan" Duration.
|
347
|
+
//
|
348
|
+
// Examples:
|
349
|
+
//
|
350
|
+
// constexpr absl::Duration inf = absl::InfiniteDuration();
|
351
|
+
// const absl::Duration d = ... any finite duration ...
|
352
|
+
//
|
353
|
+
// inf == inf + inf
|
354
|
+
// inf == inf + d
|
355
|
+
// inf == inf - inf
|
356
|
+
// -inf == d - inf
|
357
|
+
//
|
358
|
+
// inf == d * 1e100
|
359
|
+
// inf == inf / 2
|
360
|
+
// 0 == d / inf
|
361
|
+
// INT64_MAX == inf / d
|
362
|
+
//
|
363
|
+
// d < inf
|
364
|
+
// -inf < d
|
365
|
+
//
|
366
|
+
// // Division by zero returns infinity, or INT64_MIN/MAX where appropriate.
|
367
|
+
// inf == d / 0
|
368
|
+
// INT64_MAX == d / absl::ZeroDuration()
|
369
|
+
//
|
370
|
+
// The examples involving the `/` operator above also apply to `IDivDuration()`
|
371
|
+
// and `FDivDuration()`.
|
372
|
+
constexpr Duration InfiniteDuration();
|
373
|
+
|
374
|
+
// Nanoseconds()
|
375
|
+
// Microseconds()
|
376
|
+
// Milliseconds()
|
377
|
+
// Seconds()
|
378
|
+
// Minutes()
|
379
|
+
// Hours()
|
380
|
+
//
|
381
|
+
// Factory functions for constructing `Duration` values from an integral number
|
382
|
+
// of the unit indicated by the factory function's name. The number must be
|
383
|
+
// representable as int64_t.
|
384
|
+
//
|
385
|
+
// NOTE: no "Days()" factory function exists because "a day" is ambiguous.
|
386
|
+
// Civil days are not always 24 hours long, and a 24-hour duration often does
|
387
|
+
// not correspond with a civil day. If a 24-hour duration is needed, use
|
388
|
+
// `absl::Hours(24)`. If you actually want a civil day, use absl::CivilDay
|
389
|
+
// from civil_time.h.
|
390
|
+
//
|
391
|
+
// Example:
|
392
|
+
//
|
393
|
+
// absl::Duration a = absl::Seconds(60);
|
394
|
+
// absl::Duration b = absl::Minutes(1); // b == a
|
395
|
+
constexpr Duration Nanoseconds(int64_t n);
|
396
|
+
constexpr Duration Microseconds(int64_t n);
|
397
|
+
constexpr Duration Milliseconds(int64_t n);
|
398
|
+
constexpr Duration Seconds(int64_t n);
|
399
|
+
constexpr Duration Minutes(int64_t n);
|
400
|
+
constexpr Duration Hours(int64_t n);
|
401
|
+
|
402
|
+
// Factory overloads for constructing `Duration` values from a floating-point
|
403
|
+
// number of the unit indicated by the factory function's name. These functions
|
404
|
+
// exist for convenience, but they are not as efficient as the integral
|
405
|
+
// factories, which should be preferred.
|
406
|
+
//
|
407
|
+
// Example:
|
408
|
+
//
|
409
|
+
// auto a = absl::Seconds(1.5); // OK
|
410
|
+
// auto b = absl::Milliseconds(1500); // BETTER
|
411
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
412
|
+
Duration Nanoseconds(T n) {
|
413
|
+
return n * Nanoseconds(1);
|
414
|
+
}
|
415
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
416
|
+
Duration Microseconds(T n) {
|
417
|
+
return n * Microseconds(1);
|
418
|
+
}
|
419
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
420
|
+
Duration Milliseconds(T n) {
|
421
|
+
return n * Milliseconds(1);
|
422
|
+
}
|
423
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
424
|
+
Duration Seconds(T n) {
|
425
|
+
if (n >= 0) { // Note: `NaN >= 0` is false.
|
426
|
+
if (n >= static_cast<T>((std::numeric_limits<int64_t>::max)())) {
|
427
|
+
return InfiniteDuration();
|
428
|
+
}
|
429
|
+
return time_internal::MakePosDoubleDuration(n);
|
430
|
+
} else {
|
431
|
+
if (std::isnan(n))
|
432
|
+
return std::signbit(n) ? -InfiniteDuration() : InfiniteDuration();
|
433
|
+
if (n <= (std::numeric_limits<int64_t>::min)()) return -InfiniteDuration();
|
434
|
+
return -time_internal::MakePosDoubleDuration(-n);
|
435
|
+
}
|
436
|
+
}
|
437
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
438
|
+
Duration Minutes(T n) {
|
439
|
+
return n * Minutes(1);
|
440
|
+
}
|
441
|
+
template <typename T, time_internal::EnableIfFloat<T> = 0>
|
442
|
+
Duration Hours(T n) {
|
443
|
+
return n * Hours(1);
|
444
|
+
}
|
445
|
+
|
446
|
+
// ToInt64Nanoseconds()
|
447
|
+
// ToInt64Microseconds()
|
448
|
+
// ToInt64Milliseconds()
|
449
|
+
// ToInt64Seconds()
|
450
|
+
// ToInt64Minutes()
|
451
|
+
// ToInt64Hours()
|
452
|
+
//
|
453
|
+
// Helper functions that convert a Duration to an integral count of the
|
454
|
+
// indicated unit. These functions are shorthand for the `IDivDuration()`
|
455
|
+
// function above; see its documentation for details about overflow, etc.
|
456
|
+
//
|
457
|
+
// Example:
|
458
|
+
//
|
459
|
+
// absl::Duration d = absl::Milliseconds(1500);
|
460
|
+
// int64_t isec = absl::ToInt64Seconds(d); // isec == 1
|
461
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Nanoseconds(Duration d);
|
462
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Microseconds(Duration d);
|
463
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Milliseconds(Duration d);
|
464
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Seconds(Duration d);
|
465
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Minutes(Duration d);
|
466
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION int64_t ToInt64Hours(Duration d);
|
467
|
+
|
468
|
+
// ToDoubleNanoSeconds()
|
469
|
+
// ToDoubleMicroseconds()
|
470
|
+
// ToDoubleMilliseconds()
|
471
|
+
// ToDoubleSeconds()
|
472
|
+
// ToDoubleMinutes()
|
473
|
+
// ToDoubleHours()
|
474
|
+
//
|
475
|
+
// Helper functions that convert a Duration to a floating point count of the
|
476
|
+
// indicated unit. These functions are shorthand for the `FDivDuration()`
|
477
|
+
// function above; see its documentation for details about overflow, etc.
|
478
|
+
//
|
479
|
+
// Example:
|
480
|
+
//
|
481
|
+
// absl::Duration d = absl::Milliseconds(1500);
|
482
|
+
// double dsec = absl::ToDoubleSeconds(d); // dsec == 1.5
|
483
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleNanoseconds(Duration d);
|
484
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMicroseconds(Duration d);
|
485
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMilliseconds(Duration d);
|
486
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleSeconds(Duration d);
|
487
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleMinutes(Duration d);
|
488
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION double ToDoubleHours(Duration d);
|
489
|
+
|
490
|
+
// FromChrono()
|
491
|
+
//
|
492
|
+
// Converts any of the pre-defined std::chrono durations to an absl::Duration.
|
493
|
+
//
|
494
|
+
// Example:
|
495
|
+
//
|
496
|
+
// std::chrono::milliseconds ms(123);
|
497
|
+
// absl::Duration d = absl::FromChrono(ms);
|
498
|
+
constexpr Duration FromChrono(const std::chrono::nanoseconds& d);
|
499
|
+
constexpr Duration FromChrono(const std::chrono::microseconds& d);
|
500
|
+
constexpr Duration FromChrono(const std::chrono::milliseconds& d);
|
501
|
+
constexpr Duration FromChrono(const std::chrono::seconds& d);
|
502
|
+
constexpr Duration FromChrono(const std::chrono::minutes& d);
|
503
|
+
constexpr Duration FromChrono(const std::chrono::hours& d);
|
504
|
+
|
505
|
+
// ToChronoNanoseconds()
|
506
|
+
// ToChronoMicroseconds()
|
507
|
+
// ToChronoMilliseconds()
|
508
|
+
// ToChronoSeconds()
|
509
|
+
// ToChronoMinutes()
|
510
|
+
// ToChronoHours()
|
511
|
+
//
|
512
|
+
// Converts an absl::Duration to any of the pre-defined std::chrono durations.
|
513
|
+
// If overflow would occur, the returned value will saturate at the min/max
|
514
|
+
// chrono duration value instead.
|
515
|
+
//
|
516
|
+
// Example:
|
517
|
+
//
|
518
|
+
// absl::Duration d = absl::Microseconds(123);
|
519
|
+
// auto x = absl::ToChronoMicroseconds(d);
|
520
|
+
// auto y = absl::ToChronoNanoseconds(d); // x == y
|
521
|
+
// auto z = absl::ToChronoSeconds(absl::InfiniteDuration());
|
522
|
+
// // z == std::chrono::seconds::max()
|
523
|
+
std::chrono::nanoseconds ToChronoNanoseconds(Duration d);
|
524
|
+
std::chrono::microseconds ToChronoMicroseconds(Duration d);
|
525
|
+
std::chrono::milliseconds ToChronoMilliseconds(Duration d);
|
526
|
+
std::chrono::seconds ToChronoSeconds(Duration d);
|
527
|
+
std::chrono::minutes ToChronoMinutes(Duration d);
|
528
|
+
std::chrono::hours ToChronoHours(Duration d);
|
529
|
+
|
530
|
+
// FormatDuration()
|
531
|
+
//
|
532
|
+
// Returns a string representing the duration in the form "72h3m0.5s".
|
533
|
+
// Returns "inf" or "-inf" for +/- `InfiniteDuration()`.
|
534
|
+
std::string FormatDuration(Duration d);
|
535
|
+
|
536
|
+
// Output stream operator.
|
537
|
+
inline std::ostream& operator<<(std::ostream& os, Duration d) {
|
538
|
+
return os << FormatDuration(d);
|
539
|
+
}
|
540
|
+
|
541
|
+
// ParseDuration()
|
542
|
+
//
|
543
|
+
// Parses a duration string consisting of a possibly signed sequence of
|
544
|
+
// decimal numbers, each with an optional fractional part and a unit
|
545
|
+
// suffix. The valid suffixes are "ns", "us" "ms", "s", "m", and "h".
|
546
|
+
// Simple examples include "300ms", "-1.5h", and "2h45m". Parses "0" as
|
547
|
+
// `ZeroDuration()`. Parses "inf" and "-inf" as +/- `InfiniteDuration()`.
|
548
|
+
bool ParseDuration(absl::string_view dur_string, Duration* d);
|
549
|
+
|
550
|
+
// Support for flag values of type Duration. Duration flags must be specified
|
551
|
+
// in a format that is valid input for absl::ParseDuration().
|
552
|
+
bool AbslParseFlag(absl::string_view text, Duration* dst, std::string* error);
|
553
|
+
std::string AbslUnparseFlag(Duration d);
|
554
|
+
ABSL_DEPRECATED("Use AbslParseFlag() instead.")
|
555
|
+
bool ParseFlag(const std::string& text, Duration* dst, std::string* error);
|
556
|
+
ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
|
557
|
+
std::string UnparseFlag(Duration d);
|
558
|
+
|
559
|
+
// Time
|
560
|
+
//
|
561
|
+
// An `absl::Time` represents a specific instant in time. Arithmetic operators
|
562
|
+
// are provided for naturally expressing time calculations. Instances are
|
563
|
+
// created using `absl::Now()` and the `absl::From*()` factory functions that
|
564
|
+
// accept the gamut of other time representations. Formatting and parsing
|
565
|
+
// functions are provided for conversion to and from strings. `absl::Time`
|
566
|
+
// should be passed by value rather than const reference.
|
567
|
+
//
|
568
|
+
// `absl::Time` assumes there are 60 seconds in a minute, which means the
|
569
|
+
// underlying time scales must be "smeared" to eliminate leap seconds.
|
570
|
+
// See https://developers.google.com/time/smear.
|
571
|
+
//
|
572
|
+
// Even though `absl::Time` supports a wide range of timestamps, exercise
|
573
|
+
// caution when using values in the distant past. `absl::Time` uses the
|
574
|
+
// Proleptic Gregorian calendar, which extends the Gregorian calendar backward
|
575
|
+
// to dates before its introduction in 1582.
|
576
|
+
// See https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar
|
577
|
+
// for more information. Use the ICU calendar classes to convert a date in
|
578
|
+
// some other calendar (http://userguide.icu-project.org/datetime/calendar).
|
579
|
+
//
|
580
|
+
// Similarly, standardized time zones are a reasonably recent innovation, with
|
581
|
+
// the Greenwich prime meridian being established in 1884. The TZ database
|
582
|
+
// itself does not profess accurate offsets for timestamps prior to 1970. The
|
583
|
+
// breakdown of future timestamps is subject to the whim of regional
|
584
|
+
// governments.
|
585
|
+
//
|
586
|
+
// The `absl::Time` class represents an instant in time as a count of clock
|
587
|
+
// ticks of some granularity (resolution) from some starting point (epoch).
|
588
|
+
//
|
589
|
+
// `absl::Time` uses a resolution that is high enough to avoid loss in
|
590
|
+
// precision, and a range that is wide enough to avoid overflow, when
|
591
|
+
// converting between tick counts in most Google time scales (i.e., resolution
|
592
|
+
// of at least one nanosecond, and range +/-100 billion years). Conversions
|
593
|
+
// between the time scales are performed by truncating (towards negative
|
594
|
+
// infinity) to the nearest representable point.
|
595
|
+
//
|
596
|
+
// Examples:
|
597
|
+
//
|
598
|
+
// absl::Time t1 = ...;
|
599
|
+
// absl::Time t2 = t1 + absl::Minutes(2);
|
600
|
+
// absl::Duration d = t2 - t1; // == absl::Minutes(2)
|
601
|
+
//
|
602
|
+
class Time {
|
603
|
+
public:
|
604
|
+
// Value semantics.
|
605
|
+
|
606
|
+
// Returns the Unix epoch. However, those reading your code may not know
|
607
|
+
// or expect the Unix epoch as the default value, so make your code more
|
608
|
+
// readable by explicitly initializing all instances before use.
|
609
|
+
//
|
610
|
+
// Example:
|
611
|
+
// absl::Time t = absl::UnixEpoch();
|
612
|
+
// absl::Time t = absl::Now();
|
613
|
+
// absl::Time t = absl::TimeFromTimeval(tv);
|
614
|
+
// absl::Time t = absl::InfinitePast();
|
615
|
+
constexpr Time() = default;
|
616
|
+
|
617
|
+
// Copyable.
|
618
|
+
constexpr Time(const Time& t) = default;
|
619
|
+
Time& operator=(const Time& t) = default;
|
620
|
+
|
621
|
+
// Assignment operators.
|
622
|
+
Time& operator+=(Duration d) {
|
623
|
+
rep_ += d;
|
624
|
+
return *this;
|
625
|
+
}
|
626
|
+
Time& operator-=(Duration d) {
|
627
|
+
rep_ -= d;
|
628
|
+
return *this;
|
629
|
+
}
|
630
|
+
|
631
|
+
// Time::Breakdown
|
632
|
+
//
|
633
|
+
// The calendar and wall-clock (aka "civil time") components of an
|
634
|
+
// `absl::Time` in a certain `absl::TimeZone`. This struct is not
|
635
|
+
// intended to represent an instant in time. So, rather than passing
|
636
|
+
// a `Time::Breakdown` to a function, pass an `absl::Time` and an
|
637
|
+
// `absl::TimeZone`.
|
638
|
+
//
|
639
|
+
// Deprecated. Use `absl::TimeZone::CivilInfo`.
|
640
|
+
struct
|
641
|
+
Breakdown {
|
642
|
+
int64_t year; // year (e.g., 2013)
|
643
|
+
int month; // month of year [1:12]
|
644
|
+
int day; // day of month [1:31]
|
645
|
+
int hour; // hour of day [0:23]
|
646
|
+
int minute; // minute of hour [0:59]
|
647
|
+
int second; // second of minute [0:59]
|
648
|
+
Duration subsecond; // [Seconds(0):Seconds(1)) if finite
|
649
|
+
int weekday; // 1==Mon, ..., 7=Sun
|
650
|
+
int yearday; // day of year [1:366]
|
651
|
+
|
652
|
+
// Note: The following fields exist for backward compatibility
|
653
|
+
// with older APIs. Accessing these fields directly is a sign of
|
654
|
+
// imprudent logic in the calling code. Modern time-related code
|
655
|
+
// should only access this data indirectly by way of FormatTime().
|
656
|
+
// These fields are undefined for InfiniteFuture() and InfinitePast().
|
657
|
+
int offset; // seconds east of UTC
|
658
|
+
bool is_dst; // is offset non-standard?
|
659
|
+
const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
|
660
|
+
};
|
661
|
+
|
662
|
+
// Time::In()
|
663
|
+
//
|
664
|
+
// Returns the breakdown of this instant in the given TimeZone.
|
665
|
+
//
|
666
|
+
// Deprecated. Use `absl::TimeZone::At(Time)`.
|
667
|
+
Breakdown In(TimeZone tz) const;
|
668
|
+
|
669
|
+
template <typename H>
|
670
|
+
friend H AbslHashValue(H h, Time t) {
|
671
|
+
return H::combine(std::move(h), t.rep_);
|
672
|
+
}
|
673
|
+
|
674
|
+
private:
|
675
|
+
friend constexpr Time time_internal::FromUnixDuration(Duration d);
|
676
|
+
friend constexpr Duration time_internal::ToUnixDuration(Time t);
|
677
|
+
friend constexpr bool operator<(Time lhs, Time rhs);
|
678
|
+
friend constexpr bool operator==(Time lhs, Time rhs);
|
679
|
+
friend Duration operator-(Time lhs, Time rhs);
|
680
|
+
friend constexpr Time UniversalEpoch();
|
681
|
+
friend constexpr Time InfiniteFuture();
|
682
|
+
friend constexpr Time InfinitePast();
|
683
|
+
constexpr explicit Time(Duration rep) : rep_(rep) {}
|
684
|
+
Duration rep_;
|
685
|
+
};
|
686
|
+
|
687
|
+
// Relational Operators
|
688
|
+
constexpr bool operator<(Time lhs, Time rhs) { return lhs.rep_ < rhs.rep_; }
|
689
|
+
constexpr bool operator>(Time lhs, Time rhs) { return rhs < lhs; }
|
690
|
+
constexpr bool operator>=(Time lhs, Time rhs) { return !(lhs < rhs); }
|
691
|
+
constexpr bool operator<=(Time lhs, Time rhs) { return !(rhs < lhs); }
|
692
|
+
constexpr bool operator==(Time lhs, Time rhs) { return lhs.rep_ == rhs.rep_; }
|
693
|
+
constexpr bool operator!=(Time lhs, Time rhs) { return !(lhs == rhs); }
|
694
|
+
|
695
|
+
// Additive Operators
|
696
|
+
inline Time operator+(Time lhs, Duration rhs) { return lhs += rhs; }
|
697
|
+
inline Time operator+(Duration lhs, Time rhs) { return rhs += lhs; }
|
698
|
+
inline Time operator-(Time lhs, Duration rhs) { return lhs -= rhs; }
|
699
|
+
inline Duration operator-(Time lhs, Time rhs) { return lhs.rep_ - rhs.rep_; }
|
700
|
+
|
701
|
+
// UnixEpoch()
|
702
|
+
//
|
703
|
+
// Returns the `absl::Time` representing "1970-01-01 00:00:00.0 +0000".
|
704
|
+
constexpr Time UnixEpoch() { return Time(); }
|
705
|
+
|
706
|
+
// UniversalEpoch()
|
707
|
+
//
|
708
|
+
// Returns the `absl::Time` representing "0001-01-01 00:00:00.0 +0000", the
|
709
|
+
// epoch of the ICU Universal Time Scale.
|
710
|
+
constexpr Time UniversalEpoch() {
|
711
|
+
// 719162 is the number of days from 0001-01-01 to 1970-01-01,
|
712
|
+
// assuming the Gregorian calendar.
|
713
|
+
return Time(time_internal::MakeDuration(-24 * 719162 * int64_t{3600}, 0U));
|
714
|
+
}
|
715
|
+
|
716
|
+
// InfiniteFuture()
|
717
|
+
//
|
718
|
+
// Returns an `absl::Time` that is infinitely far in the future.
|
719
|
+
constexpr Time InfiniteFuture() {
|
720
|
+
return Time(
|
721
|
+
time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(), ~0U));
|
722
|
+
}
|
723
|
+
|
724
|
+
// InfinitePast()
|
725
|
+
//
|
726
|
+
// Returns an `absl::Time` that is infinitely far in the past.
|
727
|
+
constexpr Time InfinitePast() {
|
728
|
+
return Time(
|
729
|
+
time_internal::MakeDuration((std::numeric_limits<int64_t>::min)(), ~0U));
|
730
|
+
}
|
731
|
+
|
732
|
+
// FromUnixNanos()
|
733
|
+
// FromUnixMicros()
|
734
|
+
// FromUnixMillis()
|
735
|
+
// FromUnixSeconds()
|
736
|
+
// FromTimeT()
|
737
|
+
// FromUDate()
|
738
|
+
// FromUniversal()
|
739
|
+
//
|
740
|
+
// Creates an `absl::Time` from a variety of other representations.
|
741
|
+
constexpr Time FromUnixNanos(int64_t ns);
|
742
|
+
constexpr Time FromUnixMicros(int64_t us);
|
743
|
+
constexpr Time FromUnixMillis(int64_t ms);
|
744
|
+
constexpr Time FromUnixSeconds(int64_t s);
|
745
|
+
constexpr Time FromTimeT(time_t t);
|
746
|
+
Time FromUDate(double udate);
|
747
|
+
Time FromUniversal(int64_t universal);
|
748
|
+
|
749
|
+
// ToUnixNanos()
|
750
|
+
// ToUnixMicros()
|
751
|
+
// ToUnixMillis()
|
752
|
+
// ToUnixSeconds()
|
753
|
+
// ToTimeT()
|
754
|
+
// ToUDate()
|
755
|
+
// ToUniversal()
|
756
|
+
//
|
757
|
+
// Converts an `absl::Time` to a variety of other representations. Note that
|
758
|
+
// these operations round down toward negative infinity where necessary to
|
759
|
+
// adjust to the resolution of the result type. Beware of possible time_t
|
760
|
+
// over/underflow in ToTime{T,val,spec}() on 32-bit platforms.
|
761
|
+
int64_t ToUnixNanos(Time t);
|
762
|
+
int64_t ToUnixMicros(Time t);
|
763
|
+
int64_t ToUnixMillis(Time t);
|
764
|
+
int64_t ToUnixSeconds(Time t);
|
765
|
+
time_t ToTimeT(Time t);
|
766
|
+
double ToUDate(Time t);
|
767
|
+
int64_t ToUniversal(Time t);
|
768
|
+
|
769
|
+
// DurationFromTimespec()
|
770
|
+
// DurationFromTimeval()
|
771
|
+
// ToTimespec()
|
772
|
+
// ToTimeval()
|
773
|
+
// TimeFromTimespec()
|
774
|
+
// TimeFromTimeval()
|
775
|
+
// ToTimespec()
|
776
|
+
// ToTimeval()
|
777
|
+
//
|
778
|
+
// Some APIs use a timespec or a timeval as a Duration (e.g., nanosleep(2)
|
779
|
+
// and select(2)), while others use them as a Time (e.g. clock_gettime(2)
|
780
|
+
// and gettimeofday(2)), so conversion functions are provided for both cases.
|
781
|
+
// The "to timespec/val" direction is easily handled via overloading, but
|
782
|
+
// for "from timespec/val" the desired type is part of the function name.
|
783
|
+
Duration DurationFromTimespec(timespec ts);
|
784
|
+
Duration DurationFromTimeval(timeval tv);
|
785
|
+
timespec ToTimespec(Duration d);
|
786
|
+
timeval ToTimeval(Duration d);
|
787
|
+
Time TimeFromTimespec(timespec ts);
|
788
|
+
Time TimeFromTimeval(timeval tv);
|
789
|
+
timespec ToTimespec(Time t);
|
790
|
+
timeval ToTimeval(Time t);
|
791
|
+
|
792
|
+
// FromChrono()
|
793
|
+
//
|
794
|
+
// Converts a std::chrono::system_clock::time_point to an absl::Time.
|
795
|
+
//
|
796
|
+
// Example:
|
797
|
+
//
|
798
|
+
// auto tp = std::chrono::system_clock::from_time_t(123);
|
799
|
+
// absl::Time t = absl::FromChrono(tp);
|
800
|
+
// // t == absl::FromTimeT(123)
|
801
|
+
Time FromChrono(const std::chrono::system_clock::time_point& tp);
|
802
|
+
|
803
|
+
// ToChronoTime()
|
804
|
+
//
|
805
|
+
// Converts an absl::Time to a std::chrono::system_clock::time_point. If
|
806
|
+
// overflow would occur, the returned value will saturate at the min/max time
|
807
|
+
// point value instead.
|
808
|
+
//
|
809
|
+
// Example:
|
810
|
+
//
|
811
|
+
// absl::Time t = absl::FromTimeT(123);
|
812
|
+
// auto tp = absl::ToChronoTime(t);
|
813
|
+
// // tp == std::chrono::system_clock::from_time_t(123);
|
814
|
+
std::chrono::system_clock::time_point ToChronoTime(Time);
|
815
|
+
|
816
|
+
// Support for flag values of type Time. Time flags must be specified in a
|
817
|
+
// format that matches absl::RFC3339_full. For example:
|
818
|
+
//
|
819
|
+
// --start_time=2016-01-02T03:04:05.678+08:00
|
820
|
+
//
|
821
|
+
// Note: A UTC offset (or 'Z' indicating a zero-offset from UTC) is required.
|
822
|
+
//
|
823
|
+
// Additionally, if you'd like to specify a time as a count of
|
824
|
+
// seconds/milliseconds/etc from the Unix epoch, use an absl::Duration flag
|
825
|
+
// and add that duration to absl::UnixEpoch() to get an absl::Time.
|
826
|
+
bool AbslParseFlag(absl::string_view text, Time* t, std::string* error);
|
827
|
+
std::string AbslUnparseFlag(Time t);
|
828
|
+
ABSL_DEPRECATED("Use AbslParseFlag() instead.")
|
829
|
+
bool ParseFlag(const std::string& text, Time* t, std::string* error);
|
830
|
+
ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
|
831
|
+
std::string UnparseFlag(Time t);
|
832
|
+
|
833
|
+
// TimeZone
|
834
|
+
//
|
835
|
+
// The `absl::TimeZone` is an opaque, small, value-type class representing a
|
836
|
+
// geo-political region within which particular rules are used for converting
|
837
|
+
// between absolute and civil times (see https://git.io/v59Ly). `absl::TimeZone`
|
838
|
+
// values are named using the TZ identifiers from the IANA Time Zone Database,
|
839
|
+
// such as "America/Los_Angeles" or "Australia/Sydney". `absl::TimeZone` values
|
840
|
+
// are created from factory functions such as `absl::LoadTimeZone()`. Note:
|
841
|
+
// strings like "PST" and "EDT" are not valid TZ identifiers. Prefer to pass by
|
842
|
+
// value rather than const reference.
|
843
|
+
//
|
844
|
+
// For more on the fundamental concepts of time zones, absolute times, and civil
|
845
|
+
// times, see https://github.com/google/cctz#fundamental-concepts
|
846
|
+
//
|
847
|
+
// Examples:
|
848
|
+
//
|
849
|
+
// absl::TimeZone utc = absl::UTCTimeZone();
|
850
|
+
// absl::TimeZone pst = absl::FixedTimeZone(-8 * 60 * 60);
|
851
|
+
// absl::TimeZone loc = absl::LocalTimeZone();
|
852
|
+
// absl::TimeZone lax;
|
853
|
+
// if (!absl::LoadTimeZone("America/Los_Angeles", &lax)) {
|
854
|
+
// // handle error case
|
855
|
+
// }
|
856
|
+
//
|
857
|
+
// See also:
|
858
|
+
// - https://github.com/google/cctz
|
859
|
+
// - https://www.iana.org/time-zones
|
860
|
+
// - https://en.wikipedia.org/wiki/Zoneinfo
|
861
|
+
class TimeZone {
|
862
|
+
public:
|
863
|
+
explicit TimeZone(time_internal::cctz::time_zone tz) : cz_(tz) {}
|
864
|
+
TimeZone() = default; // UTC, but prefer UTCTimeZone() to be explicit.
|
865
|
+
|
866
|
+
// Copyable.
|
867
|
+
TimeZone(const TimeZone&) = default;
|
868
|
+
TimeZone& operator=(const TimeZone&) = default;
|
869
|
+
|
870
|
+
explicit operator time_internal::cctz::time_zone() const { return cz_; }
|
871
|
+
|
872
|
+
std::string name() const { return cz_.name(); }
|
873
|
+
|
874
|
+
// TimeZone::CivilInfo
|
875
|
+
//
|
876
|
+
// Information about the civil time corresponding to an absolute time.
|
877
|
+
// This struct is not intended to represent an instant in time. So, rather
|
878
|
+
// than passing a `TimeZone::CivilInfo` to a function, pass an `absl::Time`
|
879
|
+
// and an `absl::TimeZone`.
|
880
|
+
struct CivilInfo {
|
881
|
+
CivilSecond cs;
|
882
|
+
Duration subsecond;
|
883
|
+
|
884
|
+
// Note: The following fields exist for backward compatibility
|
885
|
+
// with older APIs. Accessing these fields directly is a sign of
|
886
|
+
// imprudent logic in the calling code. Modern time-related code
|
887
|
+
// should only access this data indirectly by way of FormatTime().
|
888
|
+
// These fields are undefined for InfiniteFuture() and InfinitePast().
|
889
|
+
int offset; // seconds east of UTC
|
890
|
+
bool is_dst; // is offset non-standard?
|
891
|
+
const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
|
892
|
+
};
|
893
|
+
|
894
|
+
// TimeZone::At(Time)
|
895
|
+
//
|
896
|
+
// Returns the civil time for this TimeZone at a certain `absl::Time`.
|
897
|
+
// If the input time is infinite, the output civil second will be set to
|
898
|
+
// CivilSecond::max() or min(), and the subsecond will be infinite.
|
899
|
+
//
|
900
|
+
// Example:
|
901
|
+
//
|
902
|
+
// const auto epoch = lax.At(absl::UnixEpoch());
|
903
|
+
// // epoch.cs == 1969-12-31 16:00:00
|
904
|
+
// // epoch.subsecond == absl::ZeroDuration()
|
905
|
+
// // epoch.offset == -28800
|
906
|
+
// // epoch.is_dst == false
|
907
|
+
// // epoch.abbr == "PST"
|
908
|
+
CivilInfo At(Time t) const;
|
909
|
+
|
910
|
+
// TimeZone::TimeInfo
|
911
|
+
//
|
912
|
+
// Information about the absolute times corresponding to a civil time.
|
913
|
+
// (Subseconds must be handled separately.)
|
914
|
+
//
|
915
|
+
// It is possible for a caller to pass a civil-time value that does
|
916
|
+
// not represent an actual or unique instant in time (due to a shift
|
917
|
+
// in UTC offset in the TimeZone, which results in a discontinuity in
|
918
|
+
// the civil-time components). For example, a daylight-saving-time
|
919
|
+
// transition skips or repeats civil times---in the United States,
|
920
|
+
// March 13, 2011 02:15 never occurred, while November 6, 2011 01:15
|
921
|
+
// occurred twice---so requests for such times are not well-defined.
|
922
|
+
// To account for these possibilities, `absl::TimeZone::TimeInfo` is
|
923
|
+
// richer than just a single `absl::Time`.
|
924
|
+
struct TimeInfo {
|
925
|
+
enum CivilKind {
|
926
|
+
UNIQUE, // the civil time was singular (pre == trans == post)
|
927
|
+
SKIPPED, // the civil time did not exist (pre >= trans > post)
|
928
|
+
REPEATED, // the civil time was ambiguous (pre < trans <= post)
|
929
|
+
} kind;
|
930
|
+
Time pre; // time calculated using the pre-transition offset
|
931
|
+
Time trans; // when the civil-time discontinuity occurred
|
932
|
+
Time post; // time calculated using the post-transition offset
|
933
|
+
};
|
934
|
+
|
935
|
+
// TimeZone::At(CivilSecond)
|
936
|
+
//
|
937
|
+
// Returns an `absl::TimeInfo` containing the absolute time(s) for this
|
938
|
+
// TimeZone at an `absl::CivilSecond`. When the civil time is skipped or
|
939
|
+
// repeated, returns times calculated using the pre-transition and post-
|
940
|
+
// transition UTC offsets, plus the transition time itself.
|
941
|
+
//
|
942
|
+
// Examples:
|
943
|
+
//
|
944
|
+
// // A unique civil time
|
945
|
+
// const auto jan01 = lax.At(absl::CivilSecond(2011, 1, 1, 0, 0, 0));
|
946
|
+
// // jan01.kind == TimeZone::TimeInfo::UNIQUE
|
947
|
+
// // jan01.pre is 2011-01-01 00:00:00 -0800
|
948
|
+
// // jan01.trans is 2011-01-01 00:00:00 -0800
|
949
|
+
// // jan01.post is 2011-01-01 00:00:00 -0800
|
950
|
+
//
|
951
|
+
// // A Spring DST transition, when there is a gap in civil time
|
952
|
+
// const auto mar13 = lax.At(absl::CivilSecond(2011, 3, 13, 2, 15, 0));
|
953
|
+
// // mar13.kind == TimeZone::TimeInfo::SKIPPED
|
954
|
+
// // mar13.pre is 2011-03-13 03:15:00 -0700
|
955
|
+
// // mar13.trans is 2011-03-13 03:00:00 -0700
|
956
|
+
// // mar13.post is 2011-03-13 01:15:00 -0800
|
957
|
+
//
|
958
|
+
// // A Fall DST transition, when civil times are repeated
|
959
|
+
// const auto nov06 = lax.At(absl::CivilSecond(2011, 11, 6, 1, 15, 0));
|
960
|
+
// // nov06.kind == TimeZone::TimeInfo::REPEATED
|
961
|
+
// // nov06.pre is 2011-11-06 01:15:00 -0700
|
962
|
+
// // nov06.trans is 2011-11-06 01:00:00 -0800
|
963
|
+
// // nov06.post is 2011-11-06 01:15:00 -0800
|
964
|
+
TimeInfo At(CivilSecond ct) const;
|
965
|
+
|
966
|
+
// TimeZone::NextTransition()
|
967
|
+
// TimeZone::PrevTransition()
|
968
|
+
//
|
969
|
+
// Finds the time of the next/previous offset change in this time zone.
|
970
|
+
//
|
971
|
+
// By definition, `NextTransition(t, &trans)` returns false when `t` is
|
972
|
+
// `InfiniteFuture()`, and `PrevTransition(t, &trans)` returns false
|
973
|
+
// when `t` is `InfinitePast()`. If the zone has no transitions, the
|
974
|
+
// result will also be false no matter what the argument.
|
975
|
+
//
|
976
|
+
// Otherwise, when `t` is `InfinitePast()`, `NextTransition(t, &trans)`
|
977
|
+
// returns true and sets `trans` to the first recorded transition. Chains
|
978
|
+
// of calls to `NextTransition()/PrevTransition()` will eventually return
|
979
|
+
// false, but it is unspecified exactly when `NextTransition(t, &trans)`
|
980
|
+
// jumps to false, or what time is set by `PrevTransition(t, &trans)` for
|
981
|
+
// a very distant `t`.
|
982
|
+
//
|
983
|
+
// Note: Enumeration of time-zone transitions is for informational purposes
|
984
|
+
// only. Modern time-related code should not care about when offset changes
|
985
|
+
// occur.
|
986
|
+
//
|
987
|
+
// Example:
|
988
|
+
// absl::TimeZone nyc;
|
989
|
+
// if (!absl::LoadTimeZone("America/New_York", &nyc)) { ... }
|
990
|
+
// const auto now = absl::Now();
|
991
|
+
// auto t = absl::InfinitePast();
|
992
|
+
// absl::TimeZone::CivilTransition trans;
|
993
|
+
// while (t <= now && nyc.NextTransition(t, &trans)) {
|
994
|
+
// // transition: trans.from -> trans.to
|
995
|
+
// t = nyc.At(trans.to).trans;
|
996
|
+
// }
|
997
|
+
struct CivilTransition {
|
998
|
+
CivilSecond from; // the civil time we jump from
|
999
|
+
CivilSecond to; // the civil time we jump to
|
1000
|
+
};
|
1001
|
+
bool NextTransition(Time t, CivilTransition* trans) const;
|
1002
|
+
bool PrevTransition(Time t, CivilTransition* trans) const;
|
1003
|
+
|
1004
|
+
template <typename H>
|
1005
|
+
friend H AbslHashValue(H h, TimeZone tz) {
|
1006
|
+
return H::combine(std::move(h), tz.cz_);
|
1007
|
+
}
|
1008
|
+
|
1009
|
+
private:
|
1010
|
+
friend bool operator==(TimeZone a, TimeZone b) { return a.cz_ == b.cz_; }
|
1011
|
+
friend bool operator!=(TimeZone a, TimeZone b) { return a.cz_ != b.cz_; }
|
1012
|
+
friend std::ostream& operator<<(std::ostream& os, TimeZone tz) {
|
1013
|
+
return os << tz.name();
|
1014
|
+
}
|
1015
|
+
|
1016
|
+
time_internal::cctz::time_zone cz_;
|
1017
|
+
};
|
1018
|
+
|
1019
|
+
// LoadTimeZone()
|
1020
|
+
//
|
1021
|
+
// Loads the named zone. May perform I/O on the initial load of the named
|
1022
|
+
// zone. If the name is invalid, or some other kind of error occurs, returns
|
1023
|
+
// `false` and `*tz` is set to the UTC time zone.
|
1024
|
+
inline bool LoadTimeZone(absl::string_view name, TimeZone* tz) {
|
1025
|
+
if (name == "localtime") {
|
1026
|
+
*tz = TimeZone(time_internal::cctz::local_time_zone());
|
1027
|
+
return true;
|
1028
|
+
}
|
1029
|
+
time_internal::cctz::time_zone cz;
|
1030
|
+
const bool b = time_internal::cctz::load_time_zone(std::string(name), &cz);
|
1031
|
+
*tz = TimeZone(cz);
|
1032
|
+
return b;
|
1033
|
+
}
|
1034
|
+
|
1035
|
+
// FixedTimeZone()
|
1036
|
+
//
|
1037
|
+
// Returns a TimeZone that is a fixed offset (seconds east) from UTC.
|
1038
|
+
// Note: If the absolute value of the offset is greater than 24 hours
|
1039
|
+
// you'll get UTC (i.e., no offset) instead.
|
1040
|
+
inline TimeZone FixedTimeZone(int seconds) {
|
1041
|
+
return TimeZone(
|
1042
|
+
time_internal::cctz::fixed_time_zone(std::chrono::seconds(seconds)));
|
1043
|
+
}
|
1044
|
+
|
1045
|
+
// UTCTimeZone()
|
1046
|
+
//
|
1047
|
+
// Convenience method returning the UTC time zone.
|
1048
|
+
inline TimeZone UTCTimeZone() {
|
1049
|
+
return TimeZone(time_internal::cctz::utc_time_zone());
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
// LocalTimeZone()
|
1053
|
+
//
|
1054
|
+
// Convenience method returning the local time zone, or UTC if there is
|
1055
|
+
// no configured local zone. Warning: Be wary of using LocalTimeZone(),
|
1056
|
+
// and particularly so in a server process, as the zone configured for the
|
1057
|
+
// local machine should be irrelevant. Prefer an explicit zone name.
|
1058
|
+
inline TimeZone LocalTimeZone() {
|
1059
|
+
return TimeZone(time_internal::cctz::local_time_zone());
|
1060
|
+
}
|
1061
|
+
|
1062
|
+
// ToCivilSecond()
|
1063
|
+
// ToCivilMinute()
|
1064
|
+
// ToCivilHour()
|
1065
|
+
// ToCivilDay()
|
1066
|
+
// ToCivilMonth()
|
1067
|
+
// ToCivilYear()
|
1068
|
+
//
|
1069
|
+
// Helpers for TimeZone::At(Time) to return particularly aligned civil times.
|
1070
|
+
//
|
1071
|
+
// Example:
|
1072
|
+
//
|
1073
|
+
// absl::Time t = ...;
|
1074
|
+
// absl::TimeZone tz = ...;
|
1075
|
+
// const auto cd = absl::ToCivilDay(t, tz);
|
1076
|
+
inline CivilSecond ToCivilSecond(Time t, TimeZone tz) {
|
1077
|
+
return tz.At(t).cs; // already a CivilSecond
|
1078
|
+
}
|
1079
|
+
inline CivilMinute ToCivilMinute(Time t, TimeZone tz) {
|
1080
|
+
return CivilMinute(tz.At(t).cs);
|
1081
|
+
}
|
1082
|
+
inline CivilHour ToCivilHour(Time t, TimeZone tz) {
|
1083
|
+
return CivilHour(tz.At(t).cs);
|
1084
|
+
}
|
1085
|
+
inline CivilDay ToCivilDay(Time t, TimeZone tz) {
|
1086
|
+
return CivilDay(tz.At(t).cs);
|
1087
|
+
}
|
1088
|
+
inline CivilMonth ToCivilMonth(Time t, TimeZone tz) {
|
1089
|
+
return CivilMonth(tz.At(t).cs);
|
1090
|
+
}
|
1091
|
+
inline CivilYear ToCivilYear(Time t, TimeZone tz) {
|
1092
|
+
return CivilYear(tz.At(t).cs);
|
1093
|
+
}
|
1094
|
+
|
1095
|
+
// FromCivil()
|
1096
|
+
//
|
1097
|
+
// Helper for TimeZone::At(CivilSecond) that provides "order-preserving
|
1098
|
+
// semantics." If the civil time maps to a unique time, that time is
|
1099
|
+
// returned. If the civil time is repeated in the given time zone, the
|
1100
|
+
// time using the pre-transition offset is returned. Otherwise, the
|
1101
|
+
// civil time is skipped in the given time zone, and the transition time
|
1102
|
+
// is returned. This means that for any two civil times, ct1 and ct2,
|
1103
|
+
// (ct1 < ct2) => (FromCivil(ct1) <= FromCivil(ct2)), the equal case
|
1104
|
+
// being when two non-existent civil times map to the same transition time.
|
1105
|
+
//
|
1106
|
+
// Note: Accepts civil times of any alignment.
|
1107
|
+
inline Time FromCivil(CivilSecond ct, TimeZone tz) {
|
1108
|
+
const auto ti = tz.At(ct);
|
1109
|
+
if (ti.kind == TimeZone::TimeInfo::SKIPPED) return ti.trans;
|
1110
|
+
return ti.pre;
|
1111
|
+
}
|
1112
|
+
|
1113
|
+
// TimeConversion
|
1114
|
+
//
|
1115
|
+
// An `absl::TimeConversion` represents the conversion of year, month, day,
|
1116
|
+
// hour, minute, and second values (i.e., a civil time), in a particular
|
1117
|
+
// `absl::TimeZone`, to a time instant (an absolute time), as returned by
|
1118
|
+
// `absl::ConvertDateTime()`. Legacy version of `absl::TimeZone::TimeInfo`.
|
1119
|
+
//
|
1120
|
+
// Deprecated. Use `absl::TimeZone::TimeInfo`.
|
1121
|
+
struct
|
1122
|
+
TimeConversion {
|
1123
|
+
Time pre; // time calculated using the pre-transition offset
|
1124
|
+
Time trans; // when the civil-time discontinuity occurred
|
1125
|
+
Time post; // time calculated using the post-transition offset
|
1126
|
+
|
1127
|
+
enum Kind {
|
1128
|
+
UNIQUE, // the civil time was singular (pre == trans == post)
|
1129
|
+
SKIPPED, // the civil time did not exist
|
1130
|
+
REPEATED, // the civil time was ambiguous
|
1131
|
+
};
|
1132
|
+
Kind kind;
|
1133
|
+
|
1134
|
+
bool normalized; // input values were outside their valid ranges
|
1135
|
+
};
|
1136
|
+
|
1137
|
+
// ConvertDateTime()
|
1138
|
+
//
|
1139
|
+
// Legacy version of `absl::TimeZone::At(absl::CivilSecond)` that takes
|
1140
|
+
// the civil time as six, separate values (YMDHMS).
|
1141
|
+
//
|
1142
|
+
// The input month, day, hour, minute, and second values can be outside
|
1143
|
+
// of their valid ranges, in which case they will be "normalized" during
|
1144
|
+
// the conversion.
|
1145
|
+
//
|
1146
|
+
// Example:
|
1147
|
+
//
|
1148
|
+
// // "October 32" normalizes to "November 1".
|
1149
|
+
// absl::TimeConversion tc =
|
1150
|
+
// absl::ConvertDateTime(2013, 10, 32, 8, 30, 0, lax);
|
1151
|
+
// // tc.kind == TimeConversion::UNIQUE && tc.normalized == true
|
1152
|
+
// // absl::ToCivilDay(tc.pre, tz).month() == 11
|
1153
|
+
// // absl::ToCivilDay(tc.pre, tz).day() == 1
|
1154
|
+
//
|
1155
|
+
// Deprecated. Use `absl::TimeZone::At(CivilSecond)`.
|
1156
|
+
TimeConversion ConvertDateTime(int64_t year, int mon, int day, int hour,
|
1157
|
+
int min, int sec, TimeZone tz);
|
1158
|
+
|
1159
|
+
// FromDateTime()
|
1160
|
+
//
|
1161
|
+
// A convenience wrapper for `absl::ConvertDateTime()` that simply returns
|
1162
|
+
// the "pre" `absl::Time`. That is, the unique result, or the instant that
|
1163
|
+
// is correct using the pre-transition offset (as if the transition never
|
1164
|
+
// happened).
|
1165
|
+
//
|
1166
|
+
// Example:
|
1167
|
+
//
|
1168
|
+
// absl::Time t = absl::FromDateTime(2017, 9, 26, 9, 30, 0, lax);
|
1169
|
+
// // t = 2017-09-26 09:30:00 -0700
|
1170
|
+
//
|
1171
|
+
// Deprecated. Use `absl::FromCivil(CivilSecond, TimeZone)`. Note that the
|
1172
|
+
// behavior of `FromCivil()` differs from `FromDateTime()` for skipped civil
|
1173
|
+
// times. If you care about that see `absl::TimeZone::At(absl::CivilSecond)`.
|
1174
|
+
inline Time FromDateTime(int64_t year, int mon, int day, int hour,
|
1175
|
+
int min, int sec, TimeZone tz) {
|
1176
|
+
return ConvertDateTime(year, mon, day, hour, min, sec, tz).pre;
|
1177
|
+
}
|
1178
|
+
|
1179
|
+
// FromTM()
|
1180
|
+
//
|
1181
|
+
// Converts the `tm_year`, `tm_mon`, `tm_mday`, `tm_hour`, `tm_min`, and
|
1182
|
+
// `tm_sec` fields to an `absl::Time` using the given time zone. See ctime(3)
|
1183
|
+
// for a description of the expected values of the tm fields. If the civil time
|
1184
|
+
// is unique (see `absl::TimeZone::At(absl::CivilSecond)` above), the matching
|
1185
|
+
// time instant is returned. Otherwise, the `tm_isdst` field is consulted to
|
1186
|
+
// choose between the possible results. For a repeated civil time, `tm_isdst !=
|
1187
|
+
// 0` returns the matching DST instant, while `tm_isdst == 0` returns the
|
1188
|
+
// matching non-DST instant. For a skipped civil time there is no matching
|
1189
|
+
// instant, so `tm_isdst != 0` returns the DST instant, and `tm_isdst == 0`
|
1190
|
+
// returns the non-DST instant, that would have matched if the transition never
|
1191
|
+
// happened.
|
1192
|
+
Time FromTM(const struct tm& tm, TimeZone tz);
|
1193
|
+
|
1194
|
+
// ToTM()
|
1195
|
+
//
|
1196
|
+
// Converts the given `absl::Time` to a struct tm using the given time zone.
|
1197
|
+
// See ctime(3) for a description of the values of the tm fields.
|
1198
|
+
struct tm ToTM(Time t, TimeZone tz);
|
1199
|
+
|
1200
|
+
// RFC3339_full
|
1201
|
+
// RFC3339_sec
|
1202
|
+
//
|
1203
|
+
// FormatTime()/ParseTime() format specifiers for RFC3339 date/time strings,
|
1204
|
+
// with trailing zeros trimmed or with fractional seconds omitted altogether.
|
1205
|
+
//
|
1206
|
+
// Note that RFC3339_sec[] matches an ISO 8601 extended format for date and
|
1207
|
+
// time with UTC offset. Also note the use of "%Y": RFC3339 mandates that
|
1208
|
+
// years have exactly four digits, but we allow them to take their natural
|
1209
|
+
// width.
|
1210
|
+
ABSL_DLL extern const char RFC3339_full[]; // %Y-%m-%d%ET%H:%M:%E*S%Ez
|
1211
|
+
ABSL_DLL extern const char RFC3339_sec[]; // %Y-%m-%d%ET%H:%M:%S%Ez
|
1212
|
+
|
1213
|
+
// RFC1123_full
|
1214
|
+
// RFC1123_no_wday
|
1215
|
+
//
|
1216
|
+
// FormatTime()/ParseTime() format specifiers for RFC1123 date/time strings.
|
1217
|
+
ABSL_DLL extern const char RFC1123_full[]; // %a, %d %b %E4Y %H:%M:%S %z
|
1218
|
+
ABSL_DLL extern const char RFC1123_no_wday[]; // %d %b %E4Y %H:%M:%S %z
|
1219
|
+
|
1220
|
+
// FormatTime()
|
1221
|
+
//
|
1222
|
+
// Formats the given `absl::Time` in the `absl::TimeZone` according to the
|
1223
|
+
// provided format string. Uses strftime()-like formatting options, with
|
1224
|
+
// the following extensions:
|
1225
|
+
//
|
1226
|
+
// - %Ez - RFC3339-compatible numeric UTC offset (+hh:mm or -hh:mm)
|
1227
|
+
// - %E*z - Full-resolution numeric UTC offset (+hh:mm:ss or -hh:mm:ss)
|
1228
|
+
// - %E#S - Seconds with # digits of fractional precision
|
1229
|
+
// - %E*S - Seconds with full fractional precision (a literal '*')
|
1230
|
+
// - %E#f - Fractional seconds with # digits of precision
|
1231
|
+
// - %E*f - Fractional seconds with full precision (a literal '*')
|
1232
|
+
// - %E4Y - Four-character years (-999 ... -001, 0000, 0001 ... 9999)
|
1233
|
+
// - %ET - The RFC3339 "date-time" separator "T"
|
1234
|
+
//
|
1235
|
+
// Note that %E0S behaves like %S, and %E0f produces no characters. In
|
1236
|
+
// contrast %E*f always produces at least one digit, which may be '0'.
|
1237
|
+
//
|
1238
|
+
// Note that %Y produces as many characters as it takes to fully render the
|
1239
|
+
// year. A year outside of [-999:9999] when formatted with %E4Y will produce
|
1240
|
+
// more than four characters, just like %Y.
|
1241
|
+
//
|
1242
|
+
// We recommend that format strings include the UTC offset (%z, %Ez, or %E*z)
|
1243
|
+
// so that the result uniquely identifies a time instant.
|
1244
|
+
//
|
1245
|
+
// Example:
|
1246
|
+
//
|
1247
|
+
// absl::CivilSecond cs(2013, 1, 2, 3, 4, 5);
|
1248
|
+
// absl::Time t = absl::FromCivil(cs, lax);
|
1249
|
+
// std::string f = absl::FormatTime("%H:%M:%S", t, lax); // "03:04:05"
|
1250
|
+
// f = absl::FormatTime("%H:%M:%E3S", t, lax); // "03:04:05.000"
|
1251
|
+
//
|
1252
|
+
// Note: If the given `absl::Time` is `absl::InfiniteFuture()`, the returned
|
1253
|
+
// string will be exactly "infinite-future". If the given `absl::Time` is
|
1254
|
+
// `absl::InfinitePast()`, the returned string will be exactly "infinite-past".
|
1255
|
+
// In both cases the given format string and `absl::TimeZone` are ignored.
|
1256
|
+
//
|
1257
|
+
std::string FormatTime(absl::string_view format, Time t, TimeZone tz);
|
1258
|
+
|
1259
|
+
// Convenience functions that format the given time using the RFC3339_full
|
1260
|
+
// format. The first overload uses the provided TimeZone, while the second
|
1261
|
+
// uses LocalTimeZone().
|
1262
|
+
std::string FormatTime(Time t, TimeZone tz);
|
1263
|
+
std::string FormatTime(Time t);
|
1264
|
+
|
1265
|
+
// Output stream operator.
|
1266
|
+
inline std::ostream& operator<<(std::ostream& os, Time t) {
|
1267
|
+
return os << FormatTime(t);
|
1268
|
+
}
|
1269
|
+
|
1270
|
+
// ParseTime()
|
1271
|
+
//
|
1272
|
+
// Parses an input string according to the provided format string and
|
1273
|
+
// returns the corresponding `absl::Time`. Uses strftime()-like formatting
|
1274
|
+
// options, with the same extensions as FormatTime(), but with the
|
1275
|
+
// exceptions that %E#S is interpreted as %E*S, and %E#f as %E*f. %Ez
|
1276
|
+
// and %E*z also accept the same inputs, which (along with %z) includes
|
1277
|
+
// 'z' and 'Z' as synonyms for +00:00. %ET accepts either 'T' or 't'.
|
1278
|
+
//
|
1279
|
+
// %Y consumes as many numeric characters as it can, so the matching data
|
1280
|
+
// should always be terminated with a non-numeric. %E4Y always consumes
|
1281
|
+
// exactly four characters, including any sign.
|
1282
|
+
//
|
1283
|
+
// Unspecified fields are taken from the default date and time of ...
|
1284
|
+
//
|
1285
|
+
// "1970-01-01 00:00:00.0 +0000"
|
1286
|
+
//
|
1287
|
+
// For example, parsing a string of "15:45" (%H:%M) will return an absl::Time
|
1288
|
+
// that represents "1970-01-01 15:45:00.0 +0000".
|
1289
|
+
//
|
1290
|
+
// Note that since ParseTime() returns time instants, it makes the most sense
|
1291
|
+
// to parse fully-specified date/time strings that include a UTC offset (%z,
|
1292
|
+
// %Ez, or %E*z).
|
1293
|
+
//
|
1294
|
+
// Note also that `absl::ParseTime()` only heeds the fields year, month, day,
|
1295
|
+
// hour, minute, (fractional) second, and UTC offset. Other fields, like
|
1296
|
+
// weekday (%a or %A), while parsed for syntactic validity, are ignored
|
1297
|
+
// in the conversion.
|
1298
|
+
//
|
1299
|
+
// Date and time fields that are out-of-range will be treated as errors
|
1300
|
+
// rather than normalizing them like `absl::CivilSecond` does. For example,
|
1301
|
+
// it is an error to parse the date "Oct 32, 2013" because 32 is out of range.
|
1302
|
+
//
|
1303
|
+
// A leap second of ":60" is normalized to ":00" of the following minute
|
1304
|
+
// with fractional seconds discarded. The following table shows how the
|
1305
|
+
// given seconds and subseconds will be parsed:
|
1306
|
+
//
|
1307
|
+
// "59.x" -> 59.x // exact
|
1308
|
+
// "60.x" -> 00.0 // normalized
|
1309
|
+
// "00.x" -> 00.x // exact
|
1310
|
+
//
|
1311
|
+
// Errors are indicated by returning false and assigning an error message
|
1312
|
+
// to the "err" out param if it is non-null.
|
1313
|
+
//
|
1314
|
+
// Note: If the input string is exactly "infinite-future", the returned
|
1315
|
+
// `absl::Time` will be `absl::InfiniteFuture()` and `true` will be returned.
|
1316
|
+
// If the input string is "infinite-past", the returned `absl::Time` will be
|
1317
|
+
// `absl::InfinitePast()` and `true` will be returned.
|
1318
|
+
//
|
1319
|
+
bool ParseTime(absl::string_view format, absl::string_view input, Time* time,
|
1320
|
+
std::string* err);
|
1321
|
+
|
1322
|
+
// Like ParseTime() above, but if the format string does not contain a UTC
|
1323
|
+
// offset specification (%z/%Ez/%E*z) then the input is interpreted in the
|
1324
|
+
// given TimeZone. This means that the input, by itself, does not identify a
|
1325
|
+
// unique instant. Being time-zone dependent, it also admits the possibility
|
1326
|
+
// of ambiguity or non-existence, in which case the "pre" time (as defined
|
1327
|
+
// by TimeZone::TimeInfo) is returned. For these reasons we recommend that
|
1328
|
+
// all date/time strings include a UTC offset so they're context independent.
|
1329
|
+
bool ParseTime(absl::string_view format, absl::string_view input, TimeZone tz,
|
1330
|
+
Time* time, std::string* err);
|
1331
|
+
|
1332
|
+
// ============================================================================
|
1333
|
+
// Implementation Details Follow
|
1334
|
+
// ============================================================================
|
1335
|
+
|
1336
|
+
namespace time_internal {
|
1337
|
+
|
1338
|
+
// Creates a Duration with a given representation.
|
1339
|
+
// REQUIRES: hi,lo is a valid representation of a Duration as specified
|
1340
|
+
// in time/duration.cc.
|
1341
|
+
constexpr Duration MakeDuration(int64_t hi, uint32_t lo = 0) {
|
1342
|
+
return Duration(hi, lo);
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
constexpr Duration MakeDuration(int64_t hi, int64_t lo) {
|
1346
|
+
return MakeDuration(hi, static_cast<uint32_t>(lo));
|
1347
|
+
}
|
1348
|
+
|
1349
|
+
// Make a Duration value from a floating-point number, as long as that number
|
1350
|
+
// is in the range [ 0 .. numeric_limits<int64_t>::max ), that is, as long as
|
1351
|
+
// it's positive and can be converted to int64_t without risk of UB.
|
1352
|
+
inline Duration MakePosDoubleDuration(double n) {
|
1353
|
+
const int64_t int_secs = static_cast<int64_t>(n);
|
1354
|
+
const uint32_t ticks = static_cast<uint32_t>(
|
1355
|
+
(n - static_cast<double>(int_secs)) * kTicksPerSecond + 0.5);
|
1356
|
+
return ticks < kTicksPerSecond
|
1357
|
+
? MakeDuration(int_secs, ticks)
|
1358
|
+
: MakeDuration(int_secs + 1, ticks - kTicksPerSecond);
|
1359
|
+
}
|
1360
|
+
|
1361
|
+
// Creates a normalized Duration from an almost-normalized (sec,ticks)
|
1362
|
+
// pair. sec may be positive or negative. ticks must be in the range
|
1363
|
+
// -kTicksPerSecond < *ticks < kTicksPerSecond. If ticks is negative it
|
1364
|
+
// will be normalized to a positive value in the resulting Duration.
|
1365
|
+
constexpr Duration MakeNormalizedDuration(int64_t sec, int64_t ticks) {
|
1366
|
+
return (ticks < 0) ? MakeDuration(sec - 1, ticks + kTicksPerSecond)
|
1367
|
+
: MakeDuration(sec, ticks);
|
1368
|
+
}
|
1369
|
+
|
1370
|
+
// Provide access to the Duration representation.
|
1371
|
+
constexpr int64_t GetRepHi(Duration d) { return d.rep_hi_; }
|
1372
|
+
constexpr uint32_t GetRepLo(Duration d) { return d.rep_lo_; }
|
1373
|
+
|
1374
|
+
// Returns true iff d is positive or negative infinity.
|
1375
|
+
constexpr bool IsInfiniteDuration(Duration d) { return GetRepLo(d) == ~0U; }
|
1376
|
+
|
1377
|
+
// Returns an infinite Duration with the opposite sign.
|
1378
|
+
// REQUIRES: IsInfiniteDuration(d)
|
1379
|
+
constexpr Duration OppositeInfinity(Duration d) {
|
1380
|
+
return GetRepHi(d) < 0
|
1381
|
+
? MakeDuration((std::numeric_limits<int64_t>::max)(), ~0U)
|
1382
|
+
: MakeDuration((std::numeric_limits<int64_t>::min)(), ~0U);
|
1383
|
+
}
|
1384
|
+
|
1385
|
+
// Returns (-n)-1 (equivalently -(n+1)) without avoidable overflow.
|
1386
|
+
constexpr int64_t NegateAndSubtractOne(int64_t n) {
|
1387
|
+
// Note: Good compilers will optimize this expression to ~n when using
|
1388
|
+
// a two's-complement representation (which is required for int64_t).
|
1389
|
+
return (n < 0) ? -(n + 1) : (-n) - 1;
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
// Map between a Time and a Duration since the Unix epoch. Note that these
|
1393
|
+
// functions depend on the above mentioned choice of the Unix epoch for the
|
1394
|
+
// Time representation (and both need to be Time friends). Without this
|
1395
|
+
// knowledge, we would need to add-in/subtract-out UnixEpoch() respectively.
|
1396
|
+
constexpr Time FromUnixDuration(Duration d) { return Time(d); }
|
1397
|
+
constexpr Duration ToUnixDuration(Time t) { return t.rep_; }
|
1398
|
+
|
1399
|
+
template <std::intmax_t N>
|
1400
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<1, N>) {
|
1401
|
+
static_assert(0 < N && N <= 1000 * 1000 * 1000, "Unsupported ratio");
|
1402
|
+
// Subsecond ratios cannot overflow.
|
1403
|
+
return MakeNormalizedDuration(
|
1404
|
+
v / N, v % N * kTicksPerNanosecond * 1000 * 1000 * 1000 / N);
|
1405
|
+
}
|
1406
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<60>) {
|
1407
|
+
return (v <= (std::numeric_limits<int64_t>::max)() / 60 &&
|
1408
|
+
v >= (std::numeric_limits<int64_t>::min)() / 60)
|
1409
|
+
? MakeDuration(v * 60)
|
1410
|
+
: v > 0 ? InfiniteDuration() : -InfiniteDuration();
|
1411
|
+
}
|
1412
|
+
constexpr Duration FromInt64(int64_t v, std::ratio<3600>) {
|
1413
|
+
return (v <= (std::numeric_limits<int64_t>::max)() / 3600 &&
|
1414
|
+
v >= (std::numeric_limits<int64_t>::min)() / 3600)
|
1415
|
+
? MakeDuration(v * 3600)
|
1416
|
+
: v > 0 ? InfiniteDuration() : -InfiniteDuration();
|
1417
|
+
}
|
1418
|
+
|
1419
|
+
// IsValidRep64<T>(0) is true if the expression `int64_t{std::declval<T>()}` is
|
1420
|
+
// valid. That is, if a T can be assigned to an int64_t without narrowing.
|
1421
|
+
template <typename T>
|
1422
|
+
constexpr auto IsValidRep64(int) -> decltype(int64_t{std::declval<T>()} == 0) {
|
1423
|
+
return true;
|
1424
|
+
}
|
1425
|
+
template <typename T>
|
1426
|
+
constexpr auto IsValidRep64(char) -> bool {
|
1427
|
+
return false;
|
1428
|
+
}
|
1429
|
+
|
1430
|
+
// Converts a std::chrono::duration to an absl::Duration.
|
1431
|
+
template <typename Rep, typename Period>
|
1432
|
+
constexpr Duration FromChrono(const std::chrono::duration<Rep, Period>& d) {
|
1433
|
+
static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
|
1434
|
+
return FromInt64(int64_t{d.count()}, Period{});
|
1435
|
+
}
|
1436
|
+
|
1437
|
+
template <typename Ratio>
|
1438
|
+
int64_t ToInt64(Duration d, Ratio) {
|
1439
|
+
// Note: This may be used on MSVC, which may have a system_clock period of
|
1440
|
+
// std::ratio<1, 10 * 1000 * 1000>
|
1441
|
+
return ToInt64Seconds(d * Ratio::den / Ratio::num);
|
1442
|
+
}
|
1443
|
+
// Fastpath implementations for the 6 common duration units.
|
1444
|
+
inline int64_t ToInt64(Duration d, std::nano) {
|
1445
|
+
return ToInt64Nanoseconds(d);
|
1446
|
+
}
|
1447
|
+
inline int64_t ToInt64(Duration d, std::micro) {
|
1448
|
+
return ToInt64Microseconds(d);
|
1449
|
+
}
|
1450
|
+
inline int64_t ToInt64(Duration d, std::milli) {
|
1451
|
+
return ToInt64Milliseconds(d);
|
1452
|
+
}
|
1453
|
+
inline int64_t ToInt64(Duration d, std::ratio<1>) {
|
1454
|
+
return ToInt64Seconds(d);
|
1455
|
+
}
|
1456
|
+
inline int64_t ToInt64(Duration d, std::ratio<60>) {
|
1457
|
+
return ToInt64Minutes(d);
|
1458
|
+
}
|
1459
|
+
inline int64_t ToInt64(Duration d, std::ratio<3600>) {
|
1460
|
+
return ToInt64Hours(d);
|
1461
|
+
}
|
1462
|
+
|
1463
|
+
// Converts an absl::Duration to a chrono duration of type T.
|
1464
|
+
template <typename T>
|
1465
|
+
T ToChronoDuration(Duration d) {
|
1466
|
+
using Rep = typename T::rep;
|
1467
|
+
using Period = typename T::period;
|
1468
|
+
static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
|
1469
|
+
if (time_internal::IsInfiniteDuration(d))
|
1470
|
+
return d < ZeroDuration() ? (T::min)() : (T::max)();
|
1471
|
+
const auto v = ToInt64(d, Period{});
|
1472
|
+
if (v > (std::numeric_limits<Rep>::max)()) return (T::max)();
|
1473
|
+
if (v < (std::numeric_limits<Rep>::min)()) return (T::min)();
|
1474
|
+
return T{v};
|
1475
|
+
}
|
1476
|
+
|
1477
|
+
} // namespace time_internal
|
1478
|
+
|
1479
|
+
constexpr Duration Nanoseconds(int64_t n) {
|
1480
|
+
return time_internal::FromInt64(n, std::nano{});
|
1481
|
+
}
|
1482
|
+
constexpr Duration Microseconds(int64_t n) {
|
1483
|
+
return time_internal::FromInt64(n, std::micro{});
|
1484
|
+
}
|
1485
|
+
constexpr Duration Milliseconds(int64_t n) {
|
1486
|
+
return time_internal::FromInt64(n, std::milli{});
|
1487
|
+
}
|
1488
|
+
constexpr Duration Seconds(int64_t n) {
|
1489
|
+
return time_internal::FromInt64(n, std::ratio<1>{});
|
1490
|
+
}
|
1491
|
+
constexpr Duration Minutes(int64_t n) {
|
1492
|
+
return time_internal::FromInt64(n, std::ratio<60>{});
|
1493
|
+
}
|
1494
|
+
constexpr Duration Hours(int64_t n) {
|
1495
|
+
return time_internal::FromInt64(n, std::ratio<3600>{});
|
1496
|
+
}
|
1497
|
+
|
1498
|
+
constexpr bool operator<(Duration lhs, Duration rhs) {
|
1499
|
+
return time_internal::GetRepHi(lhs) != time_internal::GetRepHi(rhs)
|
1500
|
+
? time_internal::GetRepHi(lhs) < time_internal::GetRepHi(rhs)
|
1501
|
+
: time_internal::GetRepHi(lhs) == (std::numeric_limits<int64_t>::min)()
|
1502
|
+
? time_internal::GetRepLo(lhs) + 1 <
|
1503
|
+
time_internal::GetRepLo(rhs) + 1
|
1504
|
+
: time_internal::GetRepLo(lhs) < time_internal::GetRepLo(rhs);
|
1505
|
+
}
|
1506
|
+
|
1507
|
+
constexpr bool operator==(Duration lhs, Duration rhs) {
|
1508
|
+
return time_internal::GetRepHi(lhs) == time_internal::GetRepHi(rhs) &&
|
1509
|
+
time_internal::GetRepLo(lhs) == time_internal::GetRepLo(rhs);
|
1510
|
+
}
|
1511
|
+
|
1512
|
+
constexpr Duration operator-(Duration d) {
|
1513
|
+
// This is a little interesting because of the special cases.
|
1514
|
+
//
|
1515
|
+
// If rep_lo_ is zero, we have it easy; it's safe to negate rep_hi_, we're
|
1516
|
+
// dealing with an integral number of seconds, and the only special case is
|
1517
|
+
// the maximum negative finite duration, which can't be negated.
|
1518
|
+
//
|
1519
|
+
// Infinities stay infinite, and just change direction.
|
1520
|
+
//
|
1521
|
+
// Finally we're in the case where rep_lo_ is non-zero, and we can borrow
|
1522
|
+
// a second's worth of ticks and avoid overflow (as negating int64_t-min + 1
|
1523
|
+
// is safe).
|
1524
|
+
return time_internal::GetRepLo(d) == 0
|
1525
|
+
? time_internal::GetRepHi(d) ==
|
1526
|
+
(std::numeric_limits<int64_t>::min)()
|
1527
|
+
? InfiniteDuration()
|
1528
|
+
: time_internal::MakeDuration(-time_internal::GetRepHi(d))
|
1529
|
+
: time_internal::IsInfiniteDuration(d)
|
1530
|
+
? time_internal::OppositeInfinity(d)
|
1531
|
+
: time_internal::MakeDuration(
|
1532
|
+
time_internal::NegateAndSubtractOne(
|
1533
|
+
time_internal::GetRepHi(d)),
|
1534
|
+
time_internal::kTicksPerSecond -
|
1535
|
+
time_internal::GetRepLo(d));
|
1536
|
+
}
|
1537
|
+
|
1538
|
+
constexpr Duration InfiniteDuration() {
|
1539
|
+
return time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(),
|
1540
|
+
~0U);
|
1541
|
+
}
|
1542
|
+
|
1543
|
+
constexpr Duration FromChrono(const std::chrono::nanoseconds& d) {
|
1544
|
+
return time_internal::FromChrono(d);
|
1545
|
+
}
|
1546
|
+
constexpr Duration FromChrono(const std::chrono::microseconds& d) {
|
1547
|
+
return time_internal::FromChrono(d);
|
1548
|
+
}
|
1549
|
+
constexpr Duration FromChrono(const std::chrono::milliseconds& d) {
|
1550
|
+
return time_internal::FromChrono(d);
|
1551
|
+
}
|
1552
|
+
constexpr Duration FromChrono(const std::chrono::seconds& d) {
|
1553
|
+
return time_internal::FromChrono(d);
|
1554
|
+
}
|
1555
|
+
constexpr Duration FromChrono(const std::chrono::minutes& d) {
|
1556
|
+
return time_internal::FromChrono(d);
|
1557
|
+
}
|
1558
|
+
constexpr Duration FromChrono(const std::chrono::hours& d) {
|
1559
|
+
return time_internal::FromChrono(d);
|
1560
|
+
}
|
1561
|
+
|
1562
|
+
constexpr Time FromUnixNanos(int64_t ns) {
|
1563
|
+
return time_internal::FromUnixDuration(Nanoseconds(ns));
|
1564
|
+
}
|
1565
|
+
|
1566
|
+
constexpr Time FromUnixMicros(int64_t us) {
|
1567
|
+
return time_internal::FromUnixDuration(Microseconds(us));
|
1568
|
+
}
|
1569
|
+
|
1570
|
+
constexpr Time FromUnixMillis(int64_t ms) {
|
1571
|
+
return time_internal::FromUnixDuration(Milliseconds(ms));
|
1572
|
+
}
|
1573
|
+
|
1574
|
+
constexpr Time FromUnixSeconds(int64_t s) {
|
1575
|
+
return time_internal::FromUnixDuration(Seconds(s));
|
1576
|
+
}
|
1577
|
+
|
1578
|
+
constexpr Time FromTimeT(time_t t) {
|
1579
|
+
return time_internal::FromUnixDuration(Seconds(t));
|
1580
|
+
}
|
1581
|
+
|
1582
|
+
ABSL_NAMESPACE_END
|
1583
|
+
} // namespace absl
|
1584
|
+
|
1585
|
+
#endif // ABSL_TIME_TIME_H_
|