grpc 1.50.0.pre1 → 1.51.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +131 -42
- data/include/grpc/event_engine/event_engine.h +10 -3
- data/include/grpc/event_engine/slice_buffer.h +17 -0
- data/include/grpc/grpc.h +0 -10
- data/include/grpc/impl/codegen/grpc_types.h +1 -5
- data/include/grpc/impl/codegen/port_platform.h +0 -3
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +19 -13
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +1 -0
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -5
- data/src/core/ext/filters/client_channel/client_channel.cc +120 -140
- data/src/core/ext/filters/client_channel/client_channel.h +3 -4
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +0 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
- data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -23
- data/src/core/ext/filters/client_channel/connector.h +1 -1
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +20 -47
- data/src/core/ext/filters/client_channel/dynamic_filters.h +7 -8
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +3 -4
- data/src/core/ext/filters/client_channel/http_proxy.cc +0 -1
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +8 -7
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +35 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -3
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +3 -4
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +41 -29
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +9 -11
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +15 -12
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +8 -10
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +26 -27
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +7 -9
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +44 -26
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +17 -27
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +13 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +48 -47
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +40 -126
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +364 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +9 -9
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -32
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +1 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +22 -23
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +50 -52
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -4
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -3
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +34 -26
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -7
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +63 -46
- data/src/core/ext/filters/client_channel/retry_filter.cc +80 -102
- data/src/core/ext/filters/client_channel/retry_service_config.cc +192 -234
- data/src/core/ext/filters/client_channel/retry_service_config.h +20 -23
- data/src/core/ext/filters/client_channel/retry_throttle.cc +8 -8
- data/src/core/ext/filters/client_channel/retry_throttle.h +8 -7
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +2 -2
- data/src/core/ext/filters/client_channel/subchannel.cc +21 -25
- data/src/core/ext/filters/client_channel/subchannel.h +2 -2
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +11 -12
- data/src/core/ext/filters/deadline/deadline_filter.cc +13 -14
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -4
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
- data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -12
- data/src/core/ext/filters/http/client/http_client_filter.cc +16 -16
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +13 -13
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +34 -34
- data/src/core/ext/filters/http/server/http_server_filter.cc +26 -25
- data/src/core/ext/filters/message_size/message_size_filter.cc +86 -117
- data/src/core/ext/filters/message_size/message_size_filter.h +22 -15
- data/src/core/ext/filters/rbac/rbac_filter.cc +12 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +728 -530
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -3
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +1 -1
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +6 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +17 -21
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +57 -72
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +212 -253
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +42 -11
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +13 -13
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +15 -17
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +31 -39
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +7 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +24 -8
- data/src/core/ext/transport/chttp2/transport/parsing.cc +51 -52
- data/src/core/ext/transport/chttp2/transport/varint.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/varint.h +11 -8
- data/src/core/ext/transport/chttp2/transport/writing.cc +16 -16
- data/src/core/ext/transport/inproc/inproc_transport.cc +97 -115
- data/src/core/ext/xds/certificate_provider_store.cc +4 -4
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +4 -7
- data/src/core/ext/xds/xds_api.cc +15 -68
- data/src/core/ext/xds/xds_api.h +3 -7
- data/src/core/ext/xds/xds_bootstrap.h +0 -1
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +3 -12
- data/src/core/ext/xds/xds_bootstrap_grpc.h +16 -1
- data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +0 -1
- data/src/core/ext/xds/xds_client.cc +122 -90
- data/src/core/ext/xds/xds_client.h +7 -2
- data/src/core/ext/xds/xds_client_grpc.cc +5 -24
- data/src/core/ext/xds/xds_cluster.cc +291 -183
- data/src/core/ext/xds/xds_cluster.h +11 -15
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +32 -29
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +35 -16
- data/src/core/ext/xds/xds_common_types.cc +208 -141
- data/src/core/ext/xds/xds_common_types.h +19 -13
- data/src/core/ext/xds/xds_endpoint.cc +214 -129
- data/src/core/ext/xds/xds_endpoint.h +4 -7
- data/src/core/ext/xds/xds_http_fault_filter.cc +56 -43
- data/src/core/ext/xds/xds_http_fault_filter.h +13 -21
- data/src/core/ext/xds/xds_http_filters.cc +60 -73
- data/src/core/ext/xds/xds_http_filters.h +67 -19
- data/src/core/ext/xds/xds_http_rbac_filter.cc +152 -207
- data/src/core/ext/xds/xds_http_rbac_filter.h +12 -15
- data/src/core/ext/xds/xds_lb_policy_registry.cc +122 -169
- data/src/core/ext/xds/xds_lb_policy_registry.h +10 -11
- data/src/core/ext/xds/xds_listener.cc +459 -417
- data/src/core/ext/xds/xds_listener.h +43 -47
- data/src/core/ext/xds/xds_resource_type.h +3 -11
- data/src/core/ext/xds/xds_resource_type_impl.h +8 -13
- data/src/core/ext/xds/xds_route_config.cc +94 -80
- data/src/core/ext/xds/xds_route_config.h +10 -10
- data/src/core/ext/xds/xds_routing.cc +2 -1
- data/src/core/ext/xds/xds_routing.h +2 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +109 -94
- data/src/core/ext/xds/xds_transport_grpc.cc +4 -5
- data/src/core/lib/address_utils/parse_address.cc +11 -10
- data/src/core/lib/channel/channel_args.h +16 -1
- data/src/core/lib/channel/channel_stack.cc +23 -20
- data/src/core/lib/channel/channel_stack.h +17 -4
- data/src/core/lib/channel/channel_stack_builder.cc +4 -7
- data/src/core/lib/channel/channel_stack_builder.h +14 -6
- data/src/core/lib/channel/channel_stack_builder_impl.cc +25 -7
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -0
- data/src/core/lib/channel/channel_trace.cc +4 -5
- data/src/core/lib/channel/channelz.cc +1 -1
- data/src/core/lib/channel/connected_channel.cc +695 -35
- data/src/core/lib/channel/connected_channel.h +0 -4
- data/src/core/lib/channel/promise_based_filter.cc +1004 -140
- data/src/core/lib/channel/promise_based_filter.h +364 -87
- data/src/core/lib/compression/message_compress.cc +5 -5
- data/src/core/lib/debug/event_log.cc +88 -0
- data/src/core/lib/debug/event_log.h +81 -0
- data/src/core/lib/debug/histogram_view.cc +69 -0
- data/src/core/lib/{slice/slice_refcount.cc → debug/histogram_view.h} +15 -13
- data/src/core/lib/debug/stats.cc +22 -119
- data/src/core/lib/debug/stats.h +29 -35
- data/src/core/lib/debug/stats_data.cc +224 -73
- data/src/core/lib/debug/stats_data.h +263 -122
- data/src/core/lib/event_engine/common_closures.h +71 -0
- data/src/core/lib/event_engine/default_event_engine.cc +38 -15
- data/src/core/lib/event_engine/default_event_engine.h +15 -3
- data/src/core/lib/event_engine/default_event_engine_factory.cc +2 -4
- data/src/core/lib/event_engine/memory_allocator.cc +1 -1
- data/src/core/lib/event_engine/poller.h +10 -4
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +618 -0
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +129 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +901 -0
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
- data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
- data/src/core/lib/event_engine/{executor/threaded_executor.cc → posix_engine/event_poller_posix_default.h} +13 -16
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +267 -0
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1270 -0
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +682 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +453 -18
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +148 -24
- data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1081 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +361 -0
- data/src/core/lib/event_engine/posix_engine/timer.h +9 -8
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +57 -194
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +21 -49
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +301 -0
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +179 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +126 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +151 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
- data/src/core/lib/event_engine/slice.cc +7 -6
- data/src/core/lib/event_engine/slice_buffer.cc +2 -2
- data/src/core/lib/event_engine/thread_pool.cc +106 -25
- data/src/core/lib/event_engine/thread_pool.h +32 -9
- data/src/core/lib/event_engine/windows/win_socket.cc +7 -7
- data/src/core/lib/event_engine/windows/windows_engine.cc +18 -12
- data/src/core/lib/event_engine/windows/windows_engine.h +8 -4
- data/src/core/lib/experiments/config.cc +1 -1
- data/src/core/lib/experiments/experiments.cc +13 -2
- data/src/core/lib/experiments/experiments.h +8 -1
- data/src/core/lib/gpr/cpu_linux.cc +6 -2
- data/src/core/lib/gpr/log_linux.cc +3 -4
- data/src/core/lib/gpr/string.h +1 -1
- data/src/core/lib/gpr/tmpfile_posix.cc +3 -2
- data/src/core/lib/gprpp/load_file.cc +75 -0
- data/src/core/lib/gprpp/load_file.h +33 -0
- data/src/core/lib/gprpp/per_cpu.h +46 -0
- data/src/core/lib/gprpp/stat_posix.cc +5 -4
- data/src/core/lib/gprpp/stat_windows.cc +3 -2
- data/src/core/lib/gprpp/status_helper.h +1 -3
- data/src/core/lib/gprpp/strerror.cc +41 -0
- data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/strerror.h} +9 -13
- data/src/core/lib/gprpp/thd_windows.cc +1 -2
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +13 -2
- data/src/core/lib/gprpp/validation_errors.h +18 -1
- data/src/core/lib/http/httpcli.cc +40 -44
- data/src/core/lib/http/httpcli.h +6 -5
- data/src/core/lib/http/httpcli_security_connector.cc +4 -6
- data/src/core/lib/http/parser.cc +54 -65
- data/src/core/lib/iomgr/buffer_list.cc +105 -116
- data/src/core/lib/iomgr/buffer_list.h +60 -44
- data/src/core/lib/iomgr/call_combiner.cc +11 -10
- data/src/core/lib/iomgr/call_combiner.h +3 -4
- data/src/core/lib/iomgr/cfstream_handle.cc +13 -16
- data/src/core/lib/iomgr/closure.h +49 -5
- data/src/core/lib/iomgr/combiner.cc +2 -2
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +26 -25
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
- data/src/core/lib/iomgr/error.cc +27 -42
- data/src/core/lib/iomgr/error.h +22 -152
- data/src/core/lib/iomgr/ev_apple.cc +4 -4
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +26 -25
- data/src/core/lib/iomgr/ev_poll_posix.cc +27 -31
- data/src/core/lib/iomgr/exec_ctx.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.h +2 -3
- data/src/core/lib/iomgr/executor.cc +1 -2
- data/src/core/lib/iomgr/internal_errqueue.cc +3 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -0
- data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +2 -1
- data/src/core/lib/iomgr/load_file.cc +5 -9
- data/src/core/lib/iomgr/lockfree_event.cc +10 -10
- data/src/core/lib/iomgr/pollset_windows.cc +4 -4
- data/src/core/lib/iomgr/python_util.h +2 -2
- data/src/core/lib/iomgr/resolve_address.cc +8 -3
- data/src/core/lib/iomgr/resolve_address.h +3 -4
- data/src/core/lib/iomgr/resolve_address_impl.h +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +14 -25
- data/src/core/lib/iomgr/resolve_address_posix.h +1 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +14 -17
- data/src/core/lib/iomgr/resolve_address_windows.h +1 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +30 -29
- data/src/core/lib/iomgr/socket_utils_posix.cc +1 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
- data/src/core/lib/iomgr/socket_windows.cc +2 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -10
- data/src/core/lib/iomgr/tcp_client_posix.cc +31 -35
- data/src/core/lib/iomgr/tcp_client_windows.cc +8 -12
- data/src/core/lib/iomgr/tcp_posix.cc +92 -108
- data/src/core/lib/iomgr/tcp_server_posix.cc +34 -34
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +18 -21
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +12 -13
- data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +1 -1
- data/src/core/lib/iomgr/tcp_server_windows.cc +26 -29
- data/src/core/lib/iomgr/tcp_windows.cc +27 -34
- data/src/core/lib/iomgr/timer.h +8 -8
- data/src/core/lib/iomgr/timer_generic.cc +9 -15
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -4
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +4 -3
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +10 -8
- data/src/core/lib/json/json_channel_args.h +42 -0
- data/src/core/lib/json/json_object_loader.cc +7 -2
- data/src/core/lib/json/json_object_loader.h +22 -0
- data/src/core/lib/json/json_util.cc +5 -5
- data/src/core/lib/json/json_util.h +4 -4
- data/src/core/lib/load_balancing/lb_policy.cc +1 -1
- data/src/core/lib/load_balancing/lb_policy.h +4 -0
- data/src/core/lib/load_balancing/subchannel_interface.h +0 -7
- data/src/core/lib/matchers/matchers.cc +3 -4
- data/src/core/lib/promise/activity.cc +16 -2
- data/src/core/lib/promise/activity.h +38 -15
- data/src/core/lib/promise/arena_promise.h +80 -51
- data/src/core/lib/promise/context.h +13 -6
- data/src/core/lib/promise/detail/basic_seq.h +9 -28
- data/src/core/lib/promise/detail/promise_factory.h +58 -10
- data/src/core/lib/promise/detail/status.h +28 -0
- data/src/core/lib/promise/detail/switch.h +1455 -0
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +3 -1
- data/src/core/lib/promise/for_each.h +129 -0
- data/src/core/lib/promise/loop.h +7 -5
- data/src/core/lib/promise/map_pipe.h +87 -0
- data/src/core/lib/promise/pipe.cc +19 -0
- data/src/core/lib/promise/pipe.h +505 -0
- data/src/core/lib/promise/poll.h +13 -0
- data/src/core/lib/promise/seq.h +3 -5
- data/src/core/lib/promise/sleep.cc +5 -4
- data/src/core/lib/promise/sleep.h +1 -2
- data/src/core/lib/promise/try_concurrently.h +341 -0
- data/src/core/lib/promise/try_seq.h +10 -13
- data/src/core/lib/resolver/server_address.cc +1 -0
- data/src/core/lib/resolver/server_address.h +1 -3
- data/src/core/lib/resource_quota/api.cc +0 -1
- data/src/core/lib/resource_quota/arena.cc +19 -0
- data/src/core/lib/resource_quota/arena.h +89 -0
- data/src/core/lib/resource_quota/memory_quota.cc +1 -0
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +1 -3
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -2
- data/src/core/lib/security/authorization/matchers.cc +25 -22
- data/src/core/lib/security/authorization/rbac_policy.cc +2 -3
- data/src/core/lib/security/context/security_context.h +10 -0
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +3 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +77 -55
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -3
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -51
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +17 -21
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +21 -25
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +1 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -24
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +1 -0
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +5 -5
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +24 -30
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -5
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +3 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +19 -27
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +4 -11
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +29 -41
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +6 -11
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +8 -15
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +2 -6
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +1 -4
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +7 -11
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +9 -14
- data/src/core/lib/security/security_connector/ssl_utils.cc +5 -7
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +21 -27
- data/src/core/lib/security/transport/client_auth_filter.cc +1 -1
- data/src/core/lib/security/transport/secure_endpoint.cc +26 -28
- data/src/core/lib/security/transport/security_handshaker.cc +53 -53
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/security/transport/tsi_error.cc +6 -3
- data/src/core/lib/security/util/json_util.cc +4 -5
- data/src/core/lib/service_config/service_config.h +1 -1
- data/src/core/lib/service_config/service_config_impl.cc +111 -158
- data/src/core/lib/service_config/service_config_impl.h +14 -17
- data/src/core/lib/service_config/service_config_parser.cc +14 -31
- data/src/core/lib/service_config/service_config_parser.h +14 -10
- data/src/core/lib/slice/b64.cc +2 -2
- data/src/core/lib/slice/slice.cc +7 -1
- data/src/core/lib/slice/slice.h +19 -6
- data/src/core/lib/slice/slice_buffer.cc +13 -14
- data/src/core/lib/slice/slice_internal.h +13 -21
- data/src/core/lib/slice/slice_refcount.h +34 -19
- data/src/core/lib/surface/byte_buffer.cc +3 -4
- data/src/core/lib/surface/byte_buffer_reader.cc +4 -4
- data/src/core/lib/surface/call.cc +1366 -239
- data/src/core/lib/surface/call.h +44 -0
- data/src/core/lib/surface/call_details.cc +3 -3
- data/src/core/lib/surface/call_trace.cc +113 -0
- data/src/core/lib/surface/call_trace.h +30 -0
- data/src/core/lib/surface/channel.cc +44 -49
- data/src/core/lib/surface/channel.h +9 -1
- data/src/core/lib/surface/channel_ping.cc +1 -1
- data/src/core/lib/surface/channel_stack_type.cc +4 -0
- data/src/core/lib/surface/channel_stack_type.h +2 -0
- data/src/core/lib/surface/completion_queue.cc +38 -52
- data/src/core/lib/surface/init.cc +8 -39
- data/src/core/lib/surface/init_internally.h +8 -0
- data/src/core/lib/surface/lame_client.cc +10 -8
- data/src/core/lib/surface/server.cc +48 -70
- data/src/core/lib/surface/server.h +3 -4
- data/src/core/lib/surface/validate_metadata.cc +11 -12
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/connectivity_state.cc +2 -2
- data/src/core/lib/transport/error_utils.cc +34 -28
- data/src/core/lib/transport/error_utils.h +3 -3
- data/src/core/lib/transport/handshaker.cc +14 -14
- data/src/core/lib/transport/handshaker.h +1 -1
- data/src/core/lib/transport/handshaker_factory.h +26 -0
- data/src/core/lib/transport/handshaker_registry.cc +8 -2
- data/src/core/lib/transport/handshaker_registry.h +3 -4
- data/src/core/lib/transport/http_connect_handshaker.cc +23 -24
- data/src/core/lib/transport/metadata_batch.h +17 -1
- data/src/core/lib/transport/parsed_metadata.cc +2 -6
- data/src/core/lib/transport/tcp_connect_handshaker.cc +15 -20
- data/src/core/lib/transport/transport.cc +63 -17
- data/src/core/lib/transport/transport.h +64 -68
- data/src/core/lib/transport/transport_impl.h +1 -1
- data/src/core/lib/transport/transport_op_string.cc +7 -6
- data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -10
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -14
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +10 -10
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +8 -8
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +7 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +7 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +5 -5
- data/src/core/tsi/fake_transport_security.cc +3 -3
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +7 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +6 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +0 -3
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/channel_spec.rb +0 -43
- data/src/ruby/spec/generic/active_call_spec.rb +12 -3
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
- data/third_party/zlib/compress.c +3 -3
- data/third_party/zlib/crc32.c +21 -12
- data/third_party/zlib/deflate.c +112 -106
- data/third_party/zlib/deflate.h +2 -2
- data/third_party/zlib/gzlib.c +1 -1
- data/third_party/zlib/gzread.c +3 -5
- data/third_party/zlib/gzwrite.c +1 -1
- data/third_party/zlib/infback.c +10 -7
- data/third_party/zlib/inflate.c +5 -2
- data/third_party/zlib/inftrees.c +2 -2
- data/third_party/zlib/inftrees.h +1 -1
- data/third_party/zlib/trees.c +61 -62
- data/third_party/zlib/uncompr.c +2 -2
- data/third_party/zlib/zconf.h +16 -3
- data/third_party/zlib/zlib.h +10 -10
- data/third_party/zlib/zutil.c +9 -7
- data/third_party/zlib/zutil.h +1 -0
- metadata +57 -20
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
- data/src/core/lib/event_engine/executor/threaded_executor.h +0 -44
- data/src/core/lib/gpr/murmur_hash.cc +0 -82
- data/src/core/lib/gpr/murmur_hash.h +0 -29
- data/src/core/lib/gpr/tls.h +0 -156
- data/src/core/lib/promise/call_push_pull.h +0 -148
- data/src/core/lib/slice/slice_api.cc +0 -39
- data/src/core/lib/slice/slice_buffer_api.cc +0 -35
- data/src/core/lib/slice/slice_refcount_base.h +0 -60
data/third_party/zlib/infback.c
CHANGED
@@ -66,6 +66,7 @@ int stream_size;
|
|
66
66
|
state->window = window;
|
67
67
|
state->wnext = 0;
|
68
68
|
state->whave = 0;
|
69
|
+
state->sane = 1;
|
69
70
|
return Z_OK;
|
70
71
|
}
|
71
72
|
|
@@ -605,25 +606,27 @@ void FAR *out_desc;
|
|
605
606
|
break;
|
606
607
|
|
607
608
|
case DONE:
|
608
|
-
/* inflate stream terminated properly
|
609
|
+
/* inflate stream terminated properly */
|
609
610
|
ret = Z_STREAM_END;
|
610
|
-
if (left < state->wsize) {
|
611
|
-
if (out(out_desc, state->window, state->wsize - left))
|
612
|
-
ret = Z_BUF_ERROR;
|
613
|
-
}
|
614
611
|
goto inf_leave;
|
615
612
|
|
616
613
|
case BAD:
|
617
614
|
ret = Z_DATA_ERROR;
|
618
615
|
goto inf_leave;
|
619
616
|
|
620
|
-
default:
|
617
|
+
default:
|
618
|
+
/* can't happen, but makes compilers happy */
|
621
619
|
ret = Z_STREAM_ERROR;
|
622
620
|
goto inf_leave;
|
623
621
|
}
|
624
622
|
|
625
|
-
/*
|
623
|
+
/* Write leftover output and return unused input */
|
626
624
|
inf_leave:
|
625
|
+
if (left < state->wsize) {
|
626
|
+
if (out(out_desc, state->window, state->wsize - left) &&
|
627
|
+
ret == Z_STREAM_END)
|
628
|
+
ret = Z_BUF_ERROR;
|
629
|
+
}
|
627
630
|
strm->next_in = next;
|
628
631
|
strm->avail_in = have;
|
629
632
|
return ret;
|
data/third_party/zlib/inflate.c
CHANGED
@@ -168,6 +168,8 @@ int windowBits;
|
|
168
168
|
|
169
169
|
/* extract wrap request from windowBits parameter */
|
170
170
|
if (windowBits < 0) {
|
171
|
+
if (windowBits < -15)
|
172
|
+
return Z_STREAM_ERROR;
|
171
173
|
wrap = 0;
|
172
174
|
windowBits = -windowBits;
|
173
175
|
}
|
@@ -764,8 +766,9 @@ int flush;
|
|
764
766
|
if (copy > have) copy = have;
|
765
767
|
if (copy) {
|
766
768
|
if (state->head != Z_NULL &&
|
767
|
-
state->head->extra != Z_NULL
|
768
|
-
len = state->head->extra_len - state->length
|
769
|
+
state->head->extra != Z_NULL &&
|
770
|
+
(len = state->head->extra_len - state->length) <
|
771
|
+
state->head->extra_max) {
|
769
772
|
zmemcpy(state->head->extra + len, next,
|
770
773
|
len + copy > state->head->extra_max ?
|
771
774
|
state->head->extra_max - len : copy);
|
data/third_party/zlib/inftrees.c
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
#define MAXBITS 15
|
10
10
|
|
11
11
|
const char inflate_copyright[] =
|
12
|
-
" inflate 1.2.
|
12
|
+
" inflate 1.2.13 Copyright 1995-2022 Mark Adler ";
|
13
13
|
/*
|
14
14
|
If you use the zlib library in a product, an acknowledgment is welcome
|
15
15
|
in the documentation of your product. If for some reason you cannot
|
@@ -62,7 +62,7 @@ unsigned short FAR *work;
|
|
62
62
|
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
|
63
63
|
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
64
64
|
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
|
65
|
-
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16,
|
65
|
+
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 194, 65};
|
66
66
|
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
|
67
67
|
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
|
68
68
|
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
|
data/third_party/zlib/inftrees.h
CHANGED
@@ -38,7 +38,7 @@ typedef struct {
|
|
38
38
|
/* Maximum size of the dynamic table. The maximum number of code structures is
|
39
39
|
1444, which is the sum of 852 for literal/length codes and 592 for distance
|
40
40
|
codes. These values were found by exhaustive searches using the program
|
41
|
-
examples/enough.c found in the zlib
|
41
|
+
examples/enough.c found in the zlib distribution. The arguments to that
|
42
42
|
program are the number of symbols, the initial root table size, and the
|
43
43
|
maximum bit length of a code. "enough 286 9 15" for literal/length codes
|
44
44
|
returns returns 852, and "enough 30 6 15" for distance codes returns 592.
|
data/third_party/zlib/trees.c
CHANGED
@@ -193,7 +193,7 @@ local void send_bits(s, value, length)
|
|
193
193
|
s->bits_sent += (ulg)length;
|
194
194
|
|
195
195
|
/* If not enough room in bi_buf, use (valid) bits from bi_buf and
|
196
|
-
* (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
|
196
|
+
* (16 - bi_valid) bits from value, leaving (width - (16 - bi_valid))
|
197
197
|
* unused bits in value.
|
198
198
|
*/
|
199
199
|
if (s->bi_valid > (int)Buf_size - length) {
|
@@ -256,7 +256,7 @@ local void tr_static_init()
|
|
256
256
|
length = 0;
|
257
257
|
for (code = 0; code < LENGTH_CODES-1; code++) {
|
258
258
|
base_length[code] = length;
|
259
|
-
for (n = 0; n < (1<<extra_lbits[code]); n++) {
|
259
|
+
for (n = 0; n < (1 << extra_lbits[code]); n++) {
|
260
260
|
_length_code[length++] = (uch)code;
|
261
261
|
}
|
262
262
|
}
|
@@ -265,13 +265,13 @@ local void tr_static_init()
|
|
265
265
|
* in two different ways: code 284 + 5 bits or code 285, so we
|
266
266
|
* overwrite length_code[255] to use the best encoding:
|
267
267
|
*/
|
268
|
-
_length_code[length-1] = (uch)code;
|
268
|
+
_length_code[length - 1] = (uch)code;
|
269
269
|
|
270
270
|
/* Initialize the mapping dist (0..32K) -> dist code (0..29) */
|
271
271
|
dist = 0;
|
272
272
|
for (code = 0 ; code < 16; code++) {
|
273
273
|
base_dist[code] = dist;
|
274
|
-
for (n = 0; n < (1<<extra_dbits[code]); n++) {
|
274
|
+
for (n = 0; n < (1 << extra_dbits[code]); n++) {
|
275
275
|
_dist_code[dist++] = (uch)code;
|
276
276
|
}
|
277
277
|
}
|
@@ -279,11 +279,11 @@ local void tr_static_init()
|
|
279
279
|
dist >>= 7; /* from now on, all distances are divided by 128 */
|
280
280
|
for ( ; code < D_CODES; code++) {
|
281
281
|
base_dist[code] = dist << 7;
|
282
|
-
for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
|
282
|
+
for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
|
283
283
|
_dist_code[256 + dist++] = (uch)code;
|
284
284
|
}
|
285
285
|
}
|
286
|
-
Assert (dist == 256, "tr_static_init: 256+dist != 512");
|
286
|
+
Assert (dist == 256, "tr_static_init: 256 + dist != 512");
|
287
287
|
|
288
288
|
/* Construct the codes of the static literal tree */
|
289
289
|
for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
|
@@ -312,7 +312,7 @@ local void tr_static_init()
|
|
312
312
|
}
|
313
313
|
|
314
314
|
/* ===========================================================================
|
315
|
-
*
|
315
|
+
* Generate the file trees.h describing the static trees.
|
316
316
|
*/
|
317
317
|
#ifdef GEN_TREES_H
|
318
318
|
# ifndef ZLIB_DEBUG
|
@@ -321,7 +321,7 @@ local void tr_static_init()
|
|
321
321
|
|
322
322
|
# define SEPARATOR(i, last, width) \
|
323
323
|
((i) == (last)? "\n};\n\n" : \
|
324
|
-
((i) % (width) == (width)-1 ? ",\n" : ", "))
|
324
|
+
((i) % (width) == (width) - 1 ? ",\n" : ", "))
|
325
325
|
|
326
326
|
void gen_trees_header()
|
327
327
|
{
|
@@ -458,7 +458,7 @@ local void pqdownheap(s, tree, k)
|
|
458
458
|
while (j <= s->heap_len) {
|
459
459
|
/* Set j to the smallest of the two sons: */
|
460
460
|
if (j < s->heap_len &&
|
461
|
-
smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
|
461
|
+
smaller(tree, s->heap[j + 1], s->heap[j], s->depth)) {
|
462
462
|
j++;
|
463
463
|
}
|
464
464
|
/* Exit if v is smaller than both sons */
|
@@ -507,7 +507,7 @@ local void gen_bitlen(s, desc)
|
|
507
507
|
*/
|
508
508
|
tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
|
509
509
|
|
510
|
-
for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
|
510
|
+
for (h = s->heap_max + 1; h < HEAP_SIZE; h++) {
|
511
511
|
n = s->heap[h];
|
512
512
|
bits = tree[tree[n].Dad].Len + 1;
|
513
513
|
if (bits > max_length) bits = max_length, overflow++;
|
@@ -518,7 +518,7 @@ local void gen_bitlen(s, desc)
|
|
518
518
|
|
519
519
|
s->bl_count[bits]++;
|
520
520
|
xbits = 0;
|
521
|
-
if (n >= base) xbits = extra[n-base];
|
521
|
+
if (n >= base) xbits = extra[n - base];
|
522
522
|
f = tree[n].Freq;
|
523
523
|
s->opt_len += (ulg)f * (unsigned)(bits + xbits);
|
524
524
|
if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
|
@@ -530,10 +530,10 @@ local void gen_bitlen(s, desc)
|
|
530
530
|
|
531
531
|
/* Find the first bit length which could increase: */
|
532
532
|
do {
|
533
|
-
bits = max_length-1;
|
533
|
+
bits = max_length - 1;
|
534
534
|
while (s->bl_count[bits] == 0) bits--;
|
535
|
-
s->bl_count[bits]--;
|
536
|
-
s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
|
535
|
+
s->bl_count[bits]--; /* move one leaf down the tree */
|
536
|
+
s->bl_count[bits + 1] += 2; /* move one overflow item as its brother */
|
537
537
|
s->bl_count[max_length]--;
|
538
538
|
/* The brother of the overflow item also moves one step up,
|
539
539
|
* but this does not affect bl_count[max_length]
|
@@ -569,7 +569,7 @@ local void gen_bitlen(s, desc)
|
|
569
569
|
* OUT assertion: the field code is set for all tree elements of non
|
570
570
|
* zero code length.
|
571
571
|
*/
|
572
|
-
local void gen_codes
|
572
|
+
local void gen_codes(tree, max_code, bl_count)
|
573
573
|
ct_data *tree; /* the tree to decorate */
|
574
574
|
int max_code; /* largest code with non zero frequency */
|
575
575
|
ushf *bl_count; /* number of codes at each bit length */
|
@@ -583,13 +583,13 @@ local void gen_codes (tree, max_code, bl_count)
|
|
583
583
|
* without bit reversal.
|
584
584
|
*/
|
585
585
|
for (bits = 1; bits <= MAX_BITS; bits++) {
|
586
|
-
code = (code + bl_count[bits-1]) << 1;
|
586
|
+
code = (code + bl_count[bits - 1]) << 1;
|
587
587
|
next_code[bits] = (ush)code;
|
588
588
|
}
|
589
589
|
/* Check that the bit counts in bl_count are consistent. The last code
|
590
590
|
* must be all ones.
|
591
591
|
*/
|
592
|
-
Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
|
592
|
+
Assert (code + bl_count[MAX_BITS] - 1 == (1 << MAX_BITS) - 1,
|
593
593
|
"inconsistent bit counts");
|
594
594
|
Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
|
595
595
|
|
@@ -600,7 +600,7 @@ local void gen_codes (tree, max_code, bl_count)
|
|
600
600
|
tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
|
601
601
|
|
602
602
|
Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
|
603
|
-
|
603
|
+
n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len] - 1));
|
604
604
|
}
|
605
605
|
}
|
606
606
|
|
@@ -624,7 +624,7 @@ local void build_tree(s, desc)
|
|
624
624
|
int node; /* new node being created */
|
625
625
|
|
626
626
|
/* Construct the initial heap, with least frequent element in
|
627
|
-
* heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
|
627
|
+
* heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
|
628
628
|
* heap[0] is not used.
|
629
629
|
*/
|
630
630
|
s->heap_len = 0, s->heap_max = HEAP_SIZE;
|
@@ -652,7 +652,7 @@ local void build_tree(s, desc)
|
|
652
652
|
}
|
653
653
|
desc->max_code = max_code;
|
654
654
|
|
655
|
-
/* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
|
655
|
+
/* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
|
656
656
|
* establish sub-heaps of increasing lengths:
|
657
657
|
*/
|
658
658
|
for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
|
@@ -700,7 +700,7 @@ local void build_tree(s, desc)
|
|
700
700
|
* Scan a literal or distance tree to determine the frequencies of the codes
|
701
701
|
* in the bit length tree.
|
702
702
|
*/
|
703
|
-
local void scan_tree
|
703
|
+
local void scan_tree(s, tree, max_code)
|
704
704
|
deflate_state *s;
|
705
705
|
ct_data *tree; /* the tree to be scanned */
|
706
706
|
int max_code; /* and its largest code of non zero frequency */
|
@@ -714,10 +714,10 @@ local void scan_tree (s, tree, max_code)
|
|
714
714
|
int min_count = 4; /* min repeat count */
|
715
715
|
|
716
716
|
if (nextlen == 0) max_count = 138, min_count = 3;
|
717
|
-
tree[max_code+1].Len = (ush)0xffff; /* guard */
|
717
|
+
tree[max_code + 1].Len = (ush)0xffff; /* guard */
|
718
718
|
|
719
719
|
for (n = 0; n <= max_code; n++) {
|
720
|
-
curlen = nextlen; nextlen = tree[n+1].Len;
|
720
|
+
curlen = nextlen; nextlen = tree[n + 1].Len;
|
721
721
|
if (++count < max_count && curlen == nextlen) {
|
722
722
|
continue;
|
723
723
|
} else if (count < min_count) {
|
@@ -745,7 +745,7 @@ local void scan_tree (s, tree, max_code)
|
|
745
745
|
* Send a literal or distance tree in compressed form, using the codes in
|
746
746
|
* bl_tree.
|
747
747
|
*/
|
748
|
-
local void send_tree
|
748
|
+
local void send_tree(s, tree, max_code)
|
749
749
|
deflate_state *s;
|
750
750
|
ct_data *tree; /* the tree to be scanned */
|
751
751
|
int max_code; /* and its largest code of non zero frequency */
|
@@ -758,11 +758,11 @@ local void send_tree (s, tree, max_code)
|
|
758
758
|
int max_count = 7; /* max repeat count */
|
759
759
|
int min_count = 4; /* min repeat count */
|
760
760
|
|
761
|
-
/* tree[max_code+1].Len = -1; */ /* guard already set */
|
761
|
+
/* tree[max_code + 1].Len = -1; */ /* guard already set */
|
762
762
|
if (nextlen == 0) max_count = 138, min_count = 3;
|
763
763
|
|
764
764
|
for (n = 0; n <= max_code; n++) {
|
765
|
-
curlen = nextlen; nextlen = tree[n+1].Len;
|
765
|
+
curlen = nextlen; nextlen = tree[n + 1].Len;
|
766
766
|
if (++count < max_count && curlen == nextlen) {
|
767
767
|
continue;
|
768
768
|
} else if (count < min_count) {
|
@@ -773,13 +773,13 @@ local void send_tree (s, tree, max_code)
|
|
773
773
|
send_code(s, curlen, s->bl_tree); count--;
|
774
774
|
}
|
775
775
|
Assert(count >= 3 && count <= 6, " 3_6?");
|
776
|
-
send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
|
776
|
+
send_code(s, REP_3_6, s->bl_tree); send_bits(s, count - 3, 2);
|
777
777
|
|
778
778
|
} else if (count <= 10) {
|
779
|
-
send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
|
779
|
+
send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count - 3, 3);
|
780
780
|
|
781
781
|
} else {
|
782
|
-
send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
|
782
|
+
send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count - 11, 7);
|
783
783
|
}
|
784
784
|
count = 0; prevlen = curlen;
|
785
785
|
if (nextlen == 0) {
|
@@ -807,8 +807,8 @@ local int build_bl_tree(s)
|
|
807
807
|
|
808
808
|
/* Build the bit length tree: */
|
809
809
|
build_tree(s, (tree_desc *)(&(s->bl_desc)));
|
810
|
-
/* opt_len now includes the length of the tree representations, except
|
811
|
-
*
|
810
|
+
/* opt_len now includes the length of the tree representations, except the
|
811
|
+
* lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
|
812
812
|
*/
|
813
813
|
|
814
814
|
/* Determine the number of bit length codes to send. The pkzip format
|
@@ -819,7 +819,7 @@ local int build_bl_tree(s)
|
|
819
819
|
if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
|
820
820
|
}
|
821
821
|
/* Update opt_len to include the bit length tree and counts */
|
822
|
-
s->opt_len += 3*((ulg)max_blindex+1) + 5+5+4;
|
822
|
+
s->opt_len += 3*((ulg)max_blindex + 1) + 5 + 5 + 4;
|
823
823
|
Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
|
824
824
|
s->opt_len, s->static_len));
|
825
825
|
|
@@ -841,19 +841,19 @@ local void send_all_trees(s, lcodes, dcodes, blcodes)
|
|
841
841
|
Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
|
842
842
|
"too many codes");
|
843
843
|
Tracev((stderr, "\nbl counts: "));
|
844
|
-
send_bits(s, lcodes-257, 5);
|
845
|
-
send_bits(s, dcodes-1, 5);
|
846
|
-
send_bits(s, blcodes-4, 4);
|
844
|
+
send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */
|
845
|
+
send_bits(s, dcodes - 1, 5);
|
846
|
+
send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */
|
847
847
|
for (rank = 0; rank < blcodes; rank++) {
|
848
848
|
Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
|
849
849
|
send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
|
850
850
|
}
|
851
851
|
Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
|
852
852
|
|
853
|
-
send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1);
|
853
|
+
send_tree(s, (ct_data *)s->dyn_ltree, lcodes - 1); /* literal tree */
|
854
854
|
Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
|
855
855
|
|
856
|
-
send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1);
|
856
|
+
send_tree(s, (ct_data *)s->dyn_dtree, dcodes - 1); /* distance tree */
|
857
857
|
Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
|
858
858
|
}
|
859
859
|
|
@@ -866,7 +866,7 @@ void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
|
|
866
866
|
ulg stored_len; /* length of input block */
|
867
867
|
int last; /* one if this is the last block for a file */
|
868
868
|
{
|
869
|
-
send_bits(s, (STORED_BLOCK<<1)+last, 3);
|
869
|
+
send_bits(s, (STORED_BLOCK<<1) + last, 3); /* send block type */
|
870
870
|
bi_windup(s); /* align on byte boundary */
|
871
871
|
put_short(s, (ush)stored_len);
|
872
872
|
put_short(s, (ush)~stored_len);
|
@@ -877,7 +877,7 @@ void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
|
|
877
877
|
s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
|
878
878
|
s->compressed_len += (stored_len + 4) << 3;
|
879
879
|
s->bits_sent += 2*16;
|
880
|
-
s->bits_sent += stored_len<<3;
|
880
|
+
s->bits_sent += stored_len << 3;
|
881
881
|
#endif
|
882
882
|
}
|
883
883
|
|
@@ -943,14 +943,17 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
|
|
943
943
|
max_blindex = build_bl_tree(s);
|
944
944
|
|
945
945
|
/* Determine the best encoding. Compute the block lengths in bytes. */
|
946
|
-
opt_lenb = (s->opt_len+3+7)>>3;
|
947
|
-
static_lenb = (s->static_len+3+7)>>3;
|
946
|
+
opt_lenb = (s->opt_len + 3 + 7) >> 3;
|
947
|
+
static_lenb = (s->static_len + 3 + 7) >> 3;
|
948
948
|
|
949
949
|
Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
|
950
950
|
opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
|
951
951
|
s->sym_next / 3));
|
952
952
|
|
953
|
-
|
953
|
+
#ifndef FORCE_STATIC
|
954
|
+
if (static_lenb <= opt_lenb || s->strategy == Z_FIXED)
|
955
|
+
#endif
|
956
|
+
opt_lenb = static_lenb;
|
954
957
|
|
955
958
|
} else {
|
956
959
|
Assert(buf != (char*)0, "lost buf");
|
@@ -960,7 +963,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
|
|
960
963
|
#ifdef FORCE_STORED
|
961
964
|
if (buf != (char*)0) { /* force stored block */
|
962
965
|
#else
|
963
|
-
if (stored_len+4 <= opt_lenb && buf != (char*)0) {
|
966
|
+
if (stored_len + 4 <= opt_lenb && buf != (char*)0) {
|
964
967
|
/* 4: two words for the lengths */
|
965
968
|
#endif
|
966
969
|
/* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
|
@@ -971,21 +974,17 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
|
|
971
974
|
*/
|
972
975
|
_tr_stored_block(s, buf, stored_len, last);
|
973
976
|
|
974
|
-
|
975
|
-
|
976
|
-
#else
|
977
|
-
} else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) {
|
978
|
-
#endif
|
979
|
-
send_bits(s, (STATIC_TREES<<1)+last, 3);
|
977
|
+
} else if (static_lenb == opt_lenb) {
|
978
|
+
send_bits(s, (STATIC_TREES<<1) + last, 3);
|
980
979
|
compress_block(s, (const ct_data *)static_ltree,
|
981
980
|
(const ct_data *)static_dtree);
|
982
981
|
#ifdef ZLIB_DEBUG
|
983
982
|
s->compressed_len += 3 + s->static_len;
|
984
983
|
#endif
|
985
984
|
} else {
|
986
|
-
send_bits(s, (DYN_TREES<<1)+last, 3);
|
987
|
-
send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
|
988
|
-
max_blindex+1);
|
985
|
+
send_bits(s, (DYN_TREES<<1) + last, 3);
|
986
|
+
send_all_trees(s, s->l_desc.max_code + 1, s->d_desc.max_code + 1,
|
987
|
+
max_blindex + 1);
|
989
988
|
compress_block(s, (const ct_data *)s->dyn_ltree,
|
990
989
|
(const ct_data *)s->dyn_dtree);
|
991
990
|
#ifdef ZLIB_DEBUG
|
@@ -1004,22 +1003,22 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
|
|
1004
1003
|
s->compressed_len += 7; /* align on byte boundary */
|
1005
1004
|
#endif
|
1006
1005
|
}
|
1007
|
-
Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
|
1008
|
-
s->compressed_len-7*last));
|
1006
|
+
Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len >> 3,
|
1007
|
+
s->compressed_len - 7*last));
|
1009
1008
|
}
|
1010
1009
|
|
1011
1010
|
/* ===========================================================================
|
1012
1011
|
* Save the match info and tally the frequency counts. Return true if
|
1013
1012
|
* the current block must be flushed.
|
1014
1013
|
*/
|
1015
|
-
int ZLIB_INTERNAL _tr_tally
|
1014
|
+
int ZLIB_INTERNAL _tr_tally(s, dist, lc)
|
1016
1015
|
deflate_state *s;
|
1017
1016
|
unsigned dist; /* distance of matched string */
|
1018
|
-
unsigned lc; /* match length-MIN_MATCH or unmatched char (
|
1017
|
+
unsigned lc; /* match length - MIN_MATCH or unmatched char (dist==0) */
|
1019
1018
|
{
|
1020
|
-
s->sym_buf[s->sym_next++] = dist;
|
1021
|
-
s->sym_buf[s->sym_next++] = dist >> 8;
|
1022
|
-
s->sym_buf[s->sym_next++] = lc;
|
1019
|
+
s->sym_buf[s->sym_next++] = (uch)dist;
|
1020
|
+
s->sym_buf[s->sym_next++] = (uch)(dist >> 8);
|
1021
|
+
s->sym_buf[s->sym_next++] = (uch)lc;
|
1023
1022
|
if (dist == 0) {
|
1024
1023
|
/* lc is the unmatched char */
|
1025
1024
|
s->dyn_ltree[lc].Freq++;
|
@@ -1031,7 +1030,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
|
|
1031
1030
|
(ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
|
1032
1031
|
(ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
|
1033
1032
|
|
1034
|
-
s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
|
1033
|
+
s->dyn_ltree[_length_code[lc] + LITERALS + 1].Freq++;
|
1035
1034
|
s->dyn_dtree[d_code(dist)].Freq++;
|
1036
1035
|
}
|
1037
1036
|
return (s->sym_next == s->sym_end);
|
@@ -1061,7 +1060,7 @@ local void compress_block(s, ltree, dtree)
|
|
1061
1060
|
} else {
|
1062
1061
|
/* Here, lc is the match length - MIN_MATCH */
|
1063
1062
|
code = _length_code[lc];
|
1064
|
-
send_code(s, code+LITERALS+1, ltree);
|
1063
|
+
send_code(s, code + LITERALS + 1, ltree); /* send length code */
|
1065
1064
|
extra = extra_lbits[code];
|
1066
1065
|
if (extra != 0) {
|
1067
1066
|
lc -= base_length[code];
|
@@ -1177,6 +1176,6 @@ local void bi_windup(s)
|
|
1177
1176
|
s->bi_buf = 0;
|
1178
1177
|
s->bi_valid = 0;
|
1179
1178
|
#ifdef ZLIB_DEBUG
|
1180
|
-
s->bits_sent = (s->bits_sent+7) & ~7;
|
1179
|
+
s->bits_sent = (s->bits_sent + 7) & ~7;
|
1181
1180
|
#endif
|
1182
1181
|
}
|
data/third_party/zlib/uncompr.c
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
Z_DATA_ERROR if the input data was corrupted, including if the input data is
|
25
25
|
an incomplete zlib stream.
|
26
26
|
*/
|
27
|
-
int ZEXPORT uncompress2
|
27
|
+
int ZEXPORT uncompress2(dest, destLen, source, sourceLen)
|
28
28
|
Bytef *dest;
|
29
29
|
uLongf *destLen;
|
30
30
|
const Bytef *source;
|
@@ -83,7 +83,7 @@ int ZEXPORT uncompress2 (dest, destLen, source, sourceLen)
|
|
83
83
|
err;
|
84
84
|
}
|
85
85
|
|
86
|
-
int ZEXPORT uncompress
|
86
|
+
int ZEXPORT uncompress(dest, destLen, source, sourceLen)
|
87
87
|
Bytef *dest;
|
88
88
|
uLongf *destLen;
|
89
89
|
const Bytef *source;
|
data/third_party/zlib/zconf.h
CHANGED
@@ -38,6 +38,9 @@
|
|
38
38
|
# define crc32 z_crc32
|
39
39
|
# define crc32_combine z_crc32_combine
|
40
40
|
# define crc32_combine64 z_crc32_combine64
|
41
|
+
# define crc32_combine_gen z_crc32_combine_gen
|
42
|
+
# define crc32_combine_gen64 z_crc32_combine_gen64
|
43
|
+
# define crc32_combine_op z_crc32_combine_op
|
41
44
|
# define crc32_z z_crc32_z
|
42
45
|
# define deflate z_deflate
|
43
46
|
# define deflateBound z_deflateBound
|
@@ -349,6 +352,9 @@
|
|
349
352
|
# ifdef FAR
|
350
353
|
# undef FAR
|
351
354
|
# endif
|
355
|
+
# ifndef WIN32_LEAN_AND_MEAN
|
356
|
+
# define WIN32_LEAN_AND_MEAN
|
357
|
+
# endif
|
352
358
|
# include <windows.h>
|
353
359
|
/* No need for _export, use ZLIB.DEF instead. */
|
354
360
|
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
|
@@ -467,11 +473,18 @@ typedef uLong FAR uLongf;
|
|
467
473
|
# undef _LARGEFILE64_SOURCE
|
468
474
|
#endif
|
469
475
|
|
470
|
-
#
|
471
|
-
#
|
476
|
+
#ifndef Z_HAVE_UNISTD_H
|
477
|
+
# ifdef __WATCOMC__
|
478
|
+
# define Z_HAVE_UNISTD_H
|
479
|
+
# endif
|
480
|
+
#endif
|
481
|
+
#ifndef Z_HAVE_UNISTD_H
|
482
|
+
# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
|
483
|
+
# define Z_HAVE_UNISTD_H
|
484
|
+
# endif
|
472
485
|
#endif
|
473
486
|
#ifndef Z_SOLO
|
474
|
-
# if defined(Z_HAVE_UNISTD_H)
|
487
|
+
# if defined(Z_HAVE_UNISTD_H)
|
475
488
|
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
476
489
|
# ifdef VMS
|
477
490
|
# include <unixio.h> /* for off_t */
|
data/third_party/zlib/zlib.h
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
2
|
-
version 1.2.
|
2
|
+
version 1.2.13, October 13th, 2022
|
3
3
|
|
4
4
|
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
|
5
5
|
|
@@ -37,11 +37,11 @@
|
|
37
37
|
extern "C" {
|
38
38
|
#endif
|
39
39
|
|
40
|
-
#define ZLIB_VERSION "1.2.
|
41
|
-
#define ZLIB_VERNUM
|
40
|
+
#define ZLIB_VERSION "1.2.13"
|
41
|
+
#define ZLIB_VERNUM 0x12d0
|
42
42
|
#define ZLIB_VER_MAJOR 1
|
43
43
|
#define ZLIB_VER_MINOR 2
|
44
|
-
#define ZLIB_VER_REVISION
|
44
|
+
#define ZLIB_VER_REVISION 13
|
45
45
|
#define ZLIB_VER_SUBREVISION 0
|
46
46
|
|
47
47
|
/*
|
@@ -276,7 +276,7 @@ ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|
276
276
|
== 0), or after each call of deflate(). If deflate returns Z_OK and with
|
277
277
|
zero avail_out, it must be called again after making room in the output
|
278
278
|
buffer because there might be more output pending. See deflatePending(),
|
279
|
-
which can be used if desired to determine whether or not there is more
|
279
|
+
which can be used if desired to determine whether or not there is more output
|
280
280
|
in that case.
|
281
281
|
|
282
282
|
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
|
@@ -660,7 +660,7 @@ ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm,
|
|
660
660
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
661
661
|
always enough. If deflateGetDictionary() is called with dictionary equal to
|
662
662
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
663
|
-
|
663
|
+
Similarly, if dictLength is Z_NULL, then it is not set.
|
664
664
|
|
665
665
|
deflateGetDictionary() may return a length less than the window size, even
|
666
666
|
when more than the window size in input has been provided. It may return up
|
@@ -915,7 +915,7 @@ ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
|
|
915
915
|
to dictionary. dictionary must have enough space, where 32768 bytes is
|
916
916
|
always enough. If inflateGetDictionary() is called with dictionary equal to
|
917
917
|
Z_NULL, then only the dictionary length is returned, and nothing is copied.
|
918
|
-
|
918
|
+
Similarly, if dictLength is Z_NULL, then it is not set.
|
919
919
|
|
920
920
|
inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
|
921
921
|
stream state is inconsistent.
|
@@ -1437,12 +1437,12 @@ ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
|
|
1437
1437
|
|
1438
1438
|
In the event that the end of file is reached and only a partial item is
|
1439
1439
|
available at the end, i.e. the remaining uncompressed data length is not a
|
1440
|
-
multiple of size, then the final partial item is
|
1440
|
+
multiple of size, then the final partial item is nevertheless read into buf
|
1441
1441
|
and the end-of-file flag is set. The length of the partial item read is not
|
1442
1442
|
provided, but could be inferred from the result of gztell(). This behavior
|
1443
1443
|
is the same as the behavior of fread() implementations in common libraries,
|
1444
1444
|
but it prevents the direct use of gzfread() to read a concurrently written
|
1445
|
-
file,
|
1445
|
+
file, resetting and retrying on end-of-file, when size is not 1.
|
1446
1446
|
*/
|
1447
1447
|
|
1448
1448
|
ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
|
@@ -1913,7 +1913,7 @@ ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
|
1913
1913
|
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
|
1914
1914
|
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
1915
1915
|
ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
|
1916
|
-
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF
|
1916
|
+
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF((z_streamp));
|
1917
1917
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
1918
1918
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
1919
1919
|
#if defined(_WIN32) && !defined(Z_SOLO)
|