puma-plus-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/puma_plus_core/extconf.rb +85 -0
- data/go/cmd/puma-plus/main.go +472 -0
- data/go/go.mod +20 -0
- data/go/go.sum +38 -0
- data/go/internal/control/booted_test.go +97 -0
- data/go/internal/control/decide.go +427 -0
- data/go/internal/control/decide_test.go +526 -0
- data/go/internal/control/loop.go +343 -0
- data/go/internal/control/loop_test.go +228 -0
- data/go/internal/control/replay.go +121 -0
- data/go/internal/control/sim/cooldown_test.go +74 -0
- data/go/internal/control/sim/sim.go +599 -0
- data/go/internal/control/sim/sim_test.go +300 -0
- data/go/internal/frontend/acceptor.go +164 -0
- data/go/internal/frontend/altsvc.go +57 -0
- data/go/internal/frontend/altsvc_test.go +170 -0
- data/go/internal/frontend/bodypump.go +81 -0
- data/go/internal/frontend/env.go +224 -0
- data/go/internal/frontend/env_test.go +64 -0
- data/go/internal/frontend/handler.go +543 -0
- data/go/internal/frontend/handler_test.go +486 -0
- data/go/internal/frontend/hijack.go +108 -0
- data/go/internal/frontend/hijack_test.go +197 -0
- data/go/internal/frontend/hooks_test.go +283 -0
- data/go/internal/frontend/launcher_test.go +289 -0
- data/go/internal/frontend/listeners.go +196 -0
- data/go/internal/frontend/protocol_test.go +391 -0
- data/go/internal/frontend/ractor_shepherd.go +160 -0
- data/go/internal/frontend/ractor_smoke_test.go +168 -0
- data/go/internal/frontend/realcert_test.go +163 -0
- data/go/internal/frontend/rtbridge.go +410 -0
- data/go/internal/frontend/shepherd.go +188 -0
- data/go/internal/frontend/socket.go +37 -0
- data/go/internal/frontend/socketpair_test.go +34 -0
- data/go/internal/frontend/tlscert.go +184 -0
- data/go/internal/frontend/tlscert_test.go +81 -0
- data/go/internal/frontend/wscontrol.go +198 -0
- data/go/internal/metrics/collector.go +207 -0
- data/go/internal/metrics/endpoints.go +244 -0
- data/go/internal/metrics/gvl.go +136 -0
- data/go/internal/metrics/gvl_test.go +122 -0
- data/go/internal/metrics/hist.go +204 -0
- data/go/internal/metrics/hist_test.go +353 -0
- data/go/internal/metrics/window.go +120 -0
- data/go/internal/queue/drain_test.go +141 -0
- data/go/internal/queue/queue.go +297 -0
- data/go/internal/realtime/event.go +53 -0
- data/go/internal/realtime/hub.go +456 -0
- data/go/internal/realtime/hub_test.go +370 -0
- data/go/internal/realtime/id.go +69 -0
- data/go/internal/realtime/id_test.go +64 -0
- data/go/internal/websocket/frame.go +186 -0
- data/go/internal/websocket/serve.go +196 -0
- data/go/internal/websocket/transport.go +101 -0
- data/go/internal/webtransport/serve.go +169 -0
- data/go/internal/webtransport/transport.go +220 -0
- data/go/internal/wire/golden_test.go +250 -0
- data/go/internal/wire/rack_test.go +40 -0
- data/go/internal/wire/ractor_test.go +43 -0
- data/go/internal/wire/wire.go +401 -0
- data/go/vendor/github.com/dunglas/httpsfv/LICENSE +27 -0
- data/go/vendor/github.com/dunglas/httpsfv/README.md +25 -0
- data/go/vendor/github.com/dunglas/httpsfv/bareitem.go +115 -0
- data/go/vendor/github.com/dunglas/httpsfv/binary.go +59 -0
- data/go/vendor/github.com/dunglas/httpsfv/boolean.go +49 -0
- data/go/vendor/github.com/dunglas/httpsfv/date.go +41 -0
- data/go/vendor/github.com/dunglas/httpsfv/decimal.go +64 -0
- data/go/vendor/github.com/dunglas/httpsfv/decode.go +63 -0
- data/go/vendor/github.com/dunglas/httpsfv/dictionary.go +167 -0
- data/go/vendor/github.com/dunglas/httpsfv/displaystring.go +105 -0
- data/go/vendor/github.com/dunglas/httpsfv/encode.go +42 -0
- data/go/vendor/github.com/dunglas/httpsfv/innerlist.go +91 -0
- data/go/vendor/github.com/dunglas/httpsfv/integer.go +120 -0
- data/go/vendor/github.com/dunglas/httpsfv/item.go +73 -0
- data/go/vendor/github.com/dunglas/httpsfv/key.go +81 -0
- data/go/vendor/github.com/dunglas/httpsfv/list.go +99 -0
- data/go/vendor/github.com/dunglas/httpsfv/member.go +9 -0
- data/go/vendor/github.com/dunglas/httpsfv/params.go +143 -0
- data/go/vendor/github.com/dunglas/httpsfv/string.go +88 -0
- data/go/vendor/github.com/dunglas/httpsfv/token.go +71 -0
- data/go/vendor/github.com/dunglas/httpsfv/utils.go +16 -0
- data/go/vendor/github.com/quic-go/qpack/LICENSE.md +7 -0
- data/go/vendor/github.com/quic-go/qpack/README.md +21 -0
- data/go/vendor/github.com/quic-go/qpack/decoder.go +183 -0
- data/go/vendor/github.com/quic-go/qpack/encoder.go +95 -0
- data/go/vendor/github.com/quic-go/qpack/header_field.go +16 -0
- data/go/vendor/github.com/quic-go/qpack/static_table.go +255 -0
- data/go/vendor/github.com/quic-go/qpack/varint.go +69 -0
- data/go/vendor/github.com/quic-go/quic-go/FIPS140.md +37 -0
- data/go/vendor/github.com/quic-go/quic-go/FUZZING.md +59 -0
- data/go/vendor/github.com/quic-go/quic-go/LICENSE +21 -0
- data/go/vendor/github.com/quic-go/quic-go/README.md +65 -0
- data/go/vendor/github.com/quic-go/quic-go/SECURITY.md +14 -0
- data/go/vendor/github.com/quic-go/quic-go/buffer_pool.go +92 -0
- data/go/vendor/github.com/quic-go/quic-go/client.go +109 -0
- data/go/vendor/github.com/quic-go/quic-go/closed_conn.go +58 -0
- data/go/vendor/github.com/quic-go/quic-go/codecov.yml +23 -0
- data/go/vendor/github.com/quic-go/quic-go/config.go +129 -0
- data/go/vendor/github.com/quic-go/quic-go/conn_id_generator.go +212 -0
- data/go/vendor/github.com/quic-go/quic-go/conn_id_manager.go +321 -0
- data/go/vendor/github.com/quic-go/quic-go/connection.go +3150 -0
- data/go/vendor/github.com/quic-go/quic-go/connection_logging.go +315 -0
- data/go/vendor/github.com/quic-go/quic-go/crypto_stream.go +249 -0
- data/go/vendor/github.com/quic-go/quic-go/crypto_stream_manager.go +73 -0
- data/go/vendor/github.com/quic-go/quic-go/datagram_queue.go +137 -0
- data/go/vendor/github.com/quic-go/quic-go/errors.go +105 -0
- data/go/vendor/github.com/quic-go/quic-go/flow_controller_base.go +84 -0
- data/go/vendor/github.com/quic-go/quic-go/flow_controller_connection.go +186 -0
- data/go/vendor/github.com/quic-go/quic-go/flow_controller_stream.go +196 -0
- data/go/vendor/github.com/quic-go/quic-go/frame_sorter.go +274 -0
- data/go/vendor/github.com/quic-go/quic-go/framer.go +295 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/README.md +9 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/body.go +137 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/capsule.go +148 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/client.go +496 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/conn.go +319 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/error.go +63 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/error_codes.go +84 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/frames.go +327 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/gzip_reader.go +39 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/headers.go +429 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/ip_addr.go +48 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/mockgen.go +11 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/qlog/event.go +138 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/qlog/frame.go +220 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/qlog/qlog_dir.go +15 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/qlog.go +56 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/request_writer.go +324 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/response_writer.go +372 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/server.go +738 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/server_conn.go +259 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/state_tracking_stream.go +173 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/stream.go +406 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/trace.go +105 -0
- data/go/vendor/github.com/quic-go/quic-go/http3/transport.go +538 -0
- data/go/vendor/github.com/quic-go/quic-go/interface.go +221 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/ack_eliciting.go +33 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/ecn.go +340 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/frame.go +21 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/interfaces.go +39 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/lost_packet_tracker.go +73 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/mockgen.go +6 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/packet.go +60 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/packet_number_generator.go +84 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/received_packet_handler.go +119 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/received_packet_history.go +159 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/received_packet_tracker.go +228 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/send_mode.go +46 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/sent_packet_handler.go +1143 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/ackhandler/sent_packet_history.go +274 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/bandwidth.go +22 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/clock.go +20 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/cubic.go +214 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/cubic_sender.go +330 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/hybrid_slow_start.go +112 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/interface.go +27 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/congestion/pacer.go +110 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/aead.go +91 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/cipher_suite.go +114 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/cipher_suite_fips140.go +48 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/crypto_setup.go +718 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/fake_conn.go +21 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/fips140_go126.go +9 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/fips140_legacy.go +7 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/header_protector.go +134 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/hkdf.go +26 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/initial_aead.go +80 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/interface.go +140 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/quic_event_go125.go +11 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/quic_event_go126.go +11 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/retry_go125.go +68 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/retry_go126.go +70 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/session_ticket.go +55 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/tls_config_go126.go +54 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/tls_config_go127.go +24 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/token_generator.go +126 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/token_protector.go +78 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/handshake/updatable_aead.go +372 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/monotime/time.go +90 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/connection_id.go +116 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/encryption_level.go +65 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/key_phase.go +36 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/packet_number.go +57 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/params.go +169 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/perspective.go +26 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/protocol.go +156 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/stream.go +102 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/protocol/version.go +115 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/qerr/error_codes.go +87 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/qerr/errors.go +134 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/buffered_write_closer.go +26 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/connstats.go +14 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/linkedlist/README.md +6 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/linkedlist/linkedlist.go +264 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/log.go +131 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/rand.go +29 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/ringbuffer/ringbuffer.go +96 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/utils/rtt_stats.go +159 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/ack_frame.go +298 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/ack_frequency_frame.go +65 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/ack_range.go +14 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/connection_close_frame.go +75 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/crypto_frame.go +97 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/data_blocked_frame.go +29 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/datagram_frame.go +85 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/extended_header.go +164 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/frame.go +33 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/frame_parser.go +192 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/frame_type.go +81 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/handshake_done_frame.go +17 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/header.go +302 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/immediate_ack_frame.go +18 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/log.go +74 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/max_data_frame.go +33 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/max_stream_data_frame.go +43 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/max_streams_frame.go +50 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/new_connection_id_frame.go +80 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/new_token_frame.go +43 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/path_challenge_frame.go +32 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/path_response_frame.go +32 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/ping_frame.go +17 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/pool.go +33 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/reset_stream_frame.go +79 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/retire_connection_id_frame.go +30 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/short_header.go +62 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/stop_sending_frame.go +45 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/stream_data_blocked_frame.go +42 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/stream_frame.go +191 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/streams_blocked_frame.go +50 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/transport_parameters.go +593 -0
- data/go/vendor/github.com/quic-go/quic-go/internal/wire/version_negotiation.go +53 -0
- data/go/vendor/github.com/quic-go/quic-go/mockgen.go +47 -0
- data/go/vendor/github.com/quic-go/quic-go/mtu_discoverer.go +253 -0
- data/go/vendor/github.com/quic-go/quic-go/oss-fuzz.sh +52 -0
- data/go/vendor/github.com/quic-go/quic-go/packet_packer.go +1009 -0
- data/go/vendor/github.com/quic-go/quic-go/packet_unpacker.go +222 -0
- data/go/vendor/github.com/quic-go/quic-go/path_manager.go +206 -0
- data/go/vendor/github.com/quic-go/quic-go/path_manager_outgoing.go +314 -0
- data/go/vendor/github.com/quic-go/quic-go/qlog/event.go +849 -0
- data/go/vendor/github.com/quic-go/quic-go/qlog/frame.go +481 -0
- data/go/vendor/github.com/quic-go/quic-go/qlog/packet_header.go +96 -0
- data/go/vendor/github.com/quic-go/quic-go/qlog/qlog_dir.go +61 -0
- data/go/vendor/github.com/quic-go/quic-go/qlog/types.go +305 -0
- data/go/vendor/github.com/quic-go/quic-go/qlogwriter/jsontext/encoder.go +324 -0
- data/go/vendor/github.com/quic-go/quic-go/qlogwriter/trace.go +124 -0
- data/go/vendor/github.com/quic-go/quic-go/qlogwriter/writer.go +229 -0
- data/go/vendor/github.com/quic-go/quic-go/quicvarint/io.go +98 -0
- data/go/vendor/github.com/quic-go/quic-go/quicvarint/varint.go +180 -0
- data/go/vendor/github.com/quic-go/quic-go/receive_stream.go +578 -0
- data/go/vendor/github.com/quic-go/quic-go/retransmission_queue.go +158 -0
- data/go/vendor/github.com/quic-go/quic-go/send_conn.go +124 -0
- data/go/vendor/github.com/quic-go/quic-go/send_queue.go +112 -0
- data/go/vendor/github.com/quic-go/quic-go/send_stream.go +915 -0
- data/go/vendor/github.com/quic-go/quic-go/server.go +1119 -0
- data/go/vendor/github.com/quic-go/quic-go/sni.go +136 -0
- data/go/vendor/github.com/quic-go/quic-go/stateless_reset.go +42 -0
- data/go/vendor/github.com/quic-go/quic-go/stream.go +253 -0
- data/go/vendor/github.com/quic-go/quic-go/streams_map.go +356 -0
- data/go/vendor/github.com/quic-go/quic-go/streams_map_incoming.go +209 -0
- data/go/vendor/github.com/quic-go/quic-go/streams_map_outgoing.go +253 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn.go +143 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_buffers.go +68 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_buffers_write.go +70 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_df.go +22 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_df_darwin.go +90 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_df_linux.go +42 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_df_windows.go +52 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_helper_darwin.go +38 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_helper_freebsd.go +33 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_helper_linux.go +156 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_helper_nonlinux.go +10 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_no_oob.go +21 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_oob.go +338 -0
- data/go/vendor/github.com/quic-go/quic-go/sys_conn_windows.go +42 -0
- data/go/vendor/github.com/quic-go/quic-go/token_store.go +116 -0
- data/go/vendor/github.com/quic-go/quic-go/transport.go +848 -0
- data/go/vendor/github.com/quic-go/webtransport-go/LICENSE +7 -0
- data/go/vendor/github.com/quic-go/webtransport-go/README.md +31 -0
- data/go/vendor/github.com/quic-go/webtransport-go/SECURITY.md +14 -0
- data/go/vendor/github.com/quic-go/webtransport-go/capsule.go +261 -0
- data/go/vendor/github.com/quic-go/webtransport-go/client_conn.go +289 -0
- data/go/vendor/github.com/quic-go/webtransport-go/codecov.yml +12 -0
- data/go/vendor/github.com/quic-go/webtransport-go/config.go +90 -0
- data/go/vendor/github.com/quic-go/webtransport-go/errors.go +96 -0
- data/go/vendor/github.com/quic-go/webtransport-go/flow_control.go +107 -0
- data/go/vendor/github.com/quic-go/webtransport-go/protocol.go +59 -0
- data/go/vendor/github.com/quic-go/webtransport-go/receive_stream.go +185 -0
- data/go/vendor/github.com/quic-go/webtransport-go/send_stream.go +322 -0
- data/go/vendor/github.com/quic-go/webtransport-go/server.go +533 -0
- data/go/vendor/github.com/quic-go/webtransport-go/session.go +463 -0
- data/go/vendor/github.com/quic-go/webtransport-go/session_manager.go +190 -0
- data/go/vendor/github.com/quic-go/webtransport-go/stream.go +147 -0
- data/go/vendor/github.com/quic-go/webtransport-go/streams_map_incoming.go +179 -0
- data/go/vendor/github.com/quic-go/webtransport-go/streams_map_outgoing.go +357 -0
- data/go/vendor/github.com/quic-go/webtransport-go/transport.go +126 -0
- data/go/vendor/golang.org/x/crypto/LICENSE +27 -0
- data/go/vendor/golang.org/x/crypto/PATENTS +22 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_arm64.go +16 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_arm64.s +307 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_generic.go +398 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_noasm.go +13 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_ppc64x.go +16 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_ppc64x.s +501 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go +27 -0
- data/go/vendor/golang.org/x/crypto/chacha20/chacha_s390x.s +224 -0
- data/go/vendor/golang.org/x/crypto/chacha20/xor.go +42 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305.go +101 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +92 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +5230 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go +87 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go +15 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/fips140only_compat.go +9 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/fips140only_go1.26.go +11 -0
- data/go/vendor/golang.org/x/crypto/chacha20poly1305/xchacha20poly1305.go +89 -0
- data/go/vendor/golang.org/x/crypto/internal/alias/alias.go +31 -0
- data/go/vendor/golang.org/x/crypto/internal/alias/alias_purego.go +34 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go +9 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/poly1305.go +99 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.s +93 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_asm.go +47 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go +312 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_loong64.s +123 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64x.s +187 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go +76 -0
- data/go/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.s +503 -0
- data/go/vendor/golang.org/x/net/LICENSE +27 -0
- data/go/vendor/golang.org/x/net/PATENTS +22 -0
- data/go/vendor/golang.org/x/net/bpf/asm.go +41 -0
- data/go/vendor/golang.org/x/net/bpf/constants.go +222 -0
- data/go/vendor/golang.org/x/net/bpf/doc.go +87 -0
- data/go/vendor/golang.org/x/net/bpf/instructions.go +726 -0
- data/go/vendor/golang.org/x/net/bpf/setter.go +10 -0
- data/go/vendor/golang.org/x/net/bpf/vm.go +150 -0
- data/go/vendor/golang.org/x/net/bpf/vm_instructions.go +182 -0
- data/go/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- data/go/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- data/go/vendor/golang.org/x/net/http2/README.md +19 -0
- data/go/vendor/golang.org/x/net/http2/ascii.go +53 -0
- data/go/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- data/go/vendor/golang.org/x/net/http2/client_conn_pool.go +301 -0
- data/go/vendor/golang.org/x/net/http2/client_priority_go126.go +20 -0
- data/go/vendor/golang.org/x/net/http2/client_priority_go127.go +13 -0
- data/go/vendor/golang.org/x/net/http2/clientconn.go +57 -0
- data/go/vendor/golang.org/x/net/http2/config.go +171 -0
- data/go/vendor/golang.org/x/net/http2/config_go125.go +15 -0
- data/go/vendor/golang.org/x/net/http2/config_go126.go +15 -0
- data/go/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- data/go/vendor/golang.org/x/net/http2/errors.go +145 -0
- data/go/vendor/golang.org/x/net/http2/flow.go +120 -0
- data/go/vendor/golang.org/x/net/http2/frame.go +1871 -0
- data/go/vendor/golang.org/x/net/http2/gotrack.go +181 -0
- data/go/vendor/golang.org/x/net/http2/h2c/h2c.go +256 -0
- data/go/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- data/go/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- data/go/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- data/go/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- data/go/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- data/go/vendor/golang.org/x/net/http2/http2.go +415 -0
- data/go/vendor/golang.org/x/net/http2/pipe.go +184 -0
- data/go/vendor/golang.org/x/net/http2/server.go +3217 -0
- data/go/vendor/golang.org/x/net/http2/server_common.go +221 -0
- data/go/vendor/golang.org/x/net/http2/server_wrap.go +217 -0
- data/go/vendor/golang.org/x/net/http2/transport.go +3036 -0
- data/go/vendor/golang.org/x/net/http2/transport_common.go +447 -0
- data/go/vendor/golang.org/x/net/http2/transport_wrap.go +394 -0
- data/go/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- data/go/vendor/golang.org/x/net/http2/write.go +381 -0
- data/go/vendor/golang.org/x/net/http2/writesched.go +252 -0
- data/go/vendor/golang.org/x/net/http2/writesched_common.go +90 -0
- data/go/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go +420 -0
- data/go/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go +226 -0
- data/go/vendor/golang.org/x/net/http2/writesched_random.go +81 -0
- data/go/vendor/golang.org/x/net/http2/writesched_roundrobin.go +121 -0
- data/go/vendor/golang.org/x/net/idna/idna.go +884 -0
- data/go/vendor/golang.org/x/net/idna/punycode.go +220 -0
- data/go/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- data/go/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
- data/go/vendor/golang.org/x/net/idna/trie.go +51 -0
- data/go/vendor/golang.org/x/net/idna/trieval.go +119 -0
- data/go/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- data/go/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- data/go/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
- data/go/vendor/golang.org/x/net/internal/httpsfv/httpsfv.go +665 -0
- data/go/vendor/golang.org/x/net/internal/iana/const.go +223 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr.go +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +13 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go +13 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +13 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go +13 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +27 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go +21 -0
- data/go/vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/complete_dontwait.go +25 -0
- data/go/vendor/golang.org/x/net/internal/socket/complete_nodontwait.go +21 -0
- data/go/vendor/golang.org/x/net/internal/socket/empty.s +7 -0
- data/go/vendor/golang.org/x/net/internal/socket/error_unix.go +31 -0
- data/go/vendor/golang.org/x/net/internal/socket/error_windows.go +26 -0
- data/go/vendor/golang.org/x/net/internal/socket/iovec_32bit.go +18 -0
- data/go/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +18 -0
- data/go/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go +18 -0
- data/go/vendor/golang.org/x/net/internal/socket/iovec_stub.go +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +21 -0
- data/go/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +195 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +39 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +16 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_linux.go +36 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go +23 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +23 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_openbsd.go +14 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +14 -0
- data/go/vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/norace.go +12 -0
- data/go/vendor/golang.org/x/net/internal/socket/race.go +37 -0
- data/go/vendor/golang.org/x/net/internal/socket/rawconn.go +91 -0
- data/go/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +53 -0
- data/go/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +59 -0
- data/go/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +15 -0
- data/go/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +15 -0
- data/go/vendor/golang.org/x/net/internal/socket/socket.go +281 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_bsd.go +15 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_const_unix.go +20 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux.go +22 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_386.go +28 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_386.s +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_amd64.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_arm.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_arm64.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go +12 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_mips.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_mips64.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_mips64le.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_mipsle.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_ppc.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64le.go +10 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go +12 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go +28 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.s +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_netbsd.go +25 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_posix.go +184 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_stub.go +52 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_unix.go +121 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_windows.go +55 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.go +66 -0
- data/go/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s +11 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go +39 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go +39 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go +39 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +35 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go +38 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_ppc64.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_openbsd_riscv64.go +30 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +32 -0
- data/go/vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go +28 -0
- data/go/vendor/golang.org/x/net/ipv4/batch.go +194 -0
- data/go/vendor/golang.org/x/net/ipv4/control.go +144 -0
- data/go/vendor/golang.org/x/net/ipv4/control_bsd.go +43 -0
- data/go/vendor/golang.org/x/net/ipv4/control_pktinfo.go +41 -0
- data/go/vendor/golang.org/x/net/ipv4/control_stub.go +13 -0
- data/go/vendor/golang.org/x/net/ipv4/control_unix.go +75 -0
- data/go/vendor/golang.org/x/net/ipv4/control_windows.go +12 -0
- data/go/vendor/golang.org/x/net/ipv4/control_zos.go +88 -0
- data/go/vendor/golang.org/x/net/ipv4/dgramopt.go +264 -0
- data/go/vendor/golang.org/x/net/ipv4/doc.go +240 -0
- data/go/vendor/golang.org/x/net/ipv4/endpoint.go +186 -0
- data/go/vendor/golang.org/x/net/ipv4/genericopt.go +55 -0
- data/go/vendor/golang.org/x/net/ipv4/header.go +170 -0
- data/go/vendor/golang.org/x/net/ipv4/helper.go +77 -0
- data/go/vendor/golang.org/x/net/ipv4/iana.go +38 -0
- data/go/vendor/golang.org/x/net/ipv4/icmp.go +57 -0
- data/go/vendor/golang.org/x/net/ipv4/icmp_linux.go +25 -0
- data/go/vendor/golang.org/x/net/ipv4/icmp_stub.go +25 -0
- data/go/vendor/golang.org/x/net/ipv4/packet.go +117 -0
- data/go/vendor/golang.org/x/net/ipv4/payload.go +23 -0
- data/go/vendor/golang.org/x/net/ipv4/payload_cmsg.go +84 -0
- data/go/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +39 -0
- data/go/vendor/golang.org/x/net/ipv4/sockopt.go +44 -0
- data/go/vendor/golang.org/x/net/ipv4/sockopt_posix.go +71 -0
- data/go/vendor/golang.org/x/net/ipv4/sockopt_stub.go +42 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_aix.go +43 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_asmreq.go +122 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +25 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_asmreqn.go +44 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +21 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_bpf.go +24 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +16 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_bsd.go +41 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_darwin.go +69 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_dragonfly.go +39 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_freebsd.go +80 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_linux.go +61 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_solaris.go +61 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +52 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +21 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_stub.go +13 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_windows.go +44 -0
- data/go/vendor/golang.org/x/net/ipv4/sys_zos.go +57 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go +16 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_darwin.go +59 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go +13 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go +52 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go +54 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go +54 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go +52 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_freebsd_riscv64.go +52 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_386.go +72 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go +72 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_loong64.go +76 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go +72 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go +72 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go +72 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go +76 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go +74 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_netbsd.go +13 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_openbsd.go +13 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_solaris.go +57 -0
- data/go/vendor/golang.org/x/net/ipv4/zsys_zos_s390x.go +56 -0
- data/go/vendor/golang.org/x/net/ipv6/batch.go +116 -0
- data/go/vendor/golang.org/x/net/ipv6/control.go +187 -0
- data/go/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go +51 -0
- data/go/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +97 -0
- data/go/vendor/golang.org/x/net/ipv6/control_stub.go +13 -0
- data/go/vendor/golang.org/x/net/ipv6/control_unix.go +55 -0
- data/go/vendor/golang.org/x/net/ipv6/control_windows.go +12 -0
- data/go/vendor/golang.org/x/net/ipv6/dgramopt.go +301 -0
- data/go/vendor/golang.org/x/net/ipv6/doc.go +239 -0
- data/go/vendor/golang.org/x/net/ipv6/endpoint.go +127 -0
- data/go/vendor/golang.org/x/net/ipv6/genericopt.go +56 -0
- data/go/vendor/golang.org/x/net/ipv6/header.go +55 -0
- data/go/vendor/golang.org/x/net/ipv6/helper.go +58 -0
- data/go/vendor/golang.org/x/net/ipv6/iana.go +86 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp.go +60 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_bsd.go +29 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_linux.go +27 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_solaris.go +27 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_stub.go +23 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_windows.go +22 -0
- data/go/vendor/golang.org/x/net/ipv6/icmp_zos.go +29 -0
- data/go/vendor/golang.org/x/net/ipv6/payload.go +23 -0
- data/go/vendor/golang.org/x/net/ipv6/payload_cmsg.go +70 -0
- data/go/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +38 -0
- data/go/vendor/golang.org/x/net/ipv6/sockopt.go +43 -0
- data/go/vendor/golang.org/x/net/ipv6/sockopt_posix.go +89 -0
- data/go/vendor/golang.org/x/net/ipv6/sockopt_stub.go +46 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_aix.go +79 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_asmreq.go +24 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +17 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_bpf.go +24 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +16 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_bsd.go +59 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_darwin.go +80 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_freebsd.go +94 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_linux.go +76 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_solaris.go +76 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +54 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +21 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_stub.go +13 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_windows.go +68 -0
- data/go/vendor/golang.org/x/net/ipv6/sys_zos.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go +68 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_darwin.go +64 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go +42 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go +64 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go +66 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go +66 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go +64 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_freebsd_riscv64.go +64 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_386.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_loong64.go +76 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go +72 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go +76 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go +74 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_netbsd.go +42 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_openbsd.go +42 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_solaris.go +63 -0
- data/go/vendor/golang.org/x/net/ipv6/zsys_zos_s390x.go +62 -0
- data/go/vendor/golang.org/x/sys/LICENSE +27 -0
- data/go/vendor/golang.org/x/sys/PATENTS +22 -0
- data/go/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s +17 -0
- data/go/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
- data/go/vendor/golang.org/x/sys/cpu/asm_darwin_x86_gc.s +17 -0
- data/go/vendor/golang.org/x/sys/cpu/byteorder.go +66 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu.go +343 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_aix.go +33 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_arm.go +73 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_arm64.go +191 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_arm64.s +35 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_darwin_x86.go +61 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +12 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go +21 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go +15 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gc_x86.s +26 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +12 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go +22 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c +37 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go +25 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux.go +15 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go +39 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go +120 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_loong64.go +22 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go +22 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go +9 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go +30 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +162 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go +40 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_loong64.go +62 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_loong64.s +13 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_mips64x.go +15 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_mipsx.go +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go +173 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go +65 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.s +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_arm.go +9 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go +12 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_other_x86.go +11 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go +16 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +33 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_s390x.go +172 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_s390x.s +57 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_wasm.go +17 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_x86.go +236 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_zos.go +10 -0
- data/go/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go +25 -0
- data/go/vendor/golang.org/x/sys/cpu/endian_big.go +10 -0
- data/go/vendor/golang.org/x/sys/cpu/endian_little.go +10 -0
- data/go/vendor/golang.org/x/sys/cpu/hwcap_linux.go +71 -0
- data/go/vendor/golang.org/x/sys/cpu/parse.go +55 -0
- data/go/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go +53 -0
- data/go/vendor/golang.org/x/sys/cpu/runtime_auxv.go +16 -0
- data/go/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go +18 -0
- data/go/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go +26 -0
- data/go/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go +35 -0
- data/go/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
- data/go/vendor/golang.org/x/sys/cpu/syscall_darwin_x86_gc.go +98 -0
- data/go/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
- data/go/vendor/golang.org/x/sys/unix/README.md +184 -0
- data/go/vendor/golang.org/x/sys/unix/affinity_linux.go +189 -0
- data/go/vendor/golang.org/x/sys/unix/aliases.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
- data/go/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
- data/go/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
- data/go/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
- data/go/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
- data/go/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
- data/go/vendor/golang.org/x/sys/unix/auxv.go +36 -0
- data/go/vendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
- data/go/vendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
- data/go/vendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
- data/go/vendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
- data/go/vendor/golang.org/x/sys/unix/constants.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
- data/go/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
- data/go/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
- data/go/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
- data/go/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
- data/go/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
- data/go/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
- data/go/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
- data/go/vendor/golang.org/x/sys/unix/dev_zos.go +28 -0
- data/go/vendor/golang.org/x/sys/unix/dirent.go +102 -0
- data/go/vendor/golang.org/x/sys/unix/endian_big.go +9 -0
- data/go/vendor/golang.org/x/sys/unix/endian_little.go +9 -0
- data/go/vendor/golang.org/x/sys/unix/env_unix.go +31 -0
- data/go/vendor/golang.org/x/sys/unix/fcntl.go +36 -0
- data/go/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
- data/go/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/fdset.go +27 -0
- data/go/vendor/golang.org/x/sys/unix/gccgo.go +59 -0
- data/go/vendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
- data/go/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
- data/go/vendor/golang.org/x/sys/unix/ifreq_linux.go +139 -0
- data/go/vendor/golang.org/x/sys/unix/ioctl_linux.go +334 -0
- data/go/vendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0
- data/go/vendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0
- data/go/vendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
- data/go/vendor/golang.org/x/sys/unix/mkall.sh +250 -0
- data/go/vendor/golang.org/x/sys/unix/mkerrors.sh +814 -0
- data/go/vendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/mremap.go +57 -0
- data/go/vendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
- data/go/vendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
- data/go/vendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
- data/go/vendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
- data/go/vendor/golang.org/x/sys/unix/race.go +30 -0
- data/go/vendor/golang.org/x/sys/unix/race0.go +25 -0
- data/go/vendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
- data/go/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
- data/go/vendor/golang.org/x/sys/unix/readv_unix.go +103 -0
- data/go/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
- data/go/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
- data/go/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
- data/go/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
- data/go/vendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
- data/go/vendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
- data/go/vendor/golang.org/x/sys/unix/syscall.go +86 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_unix.go +619 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
- data/go/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
- data/go/vendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
- data/go/vendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
- data/go/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/timestruct.go +76 -0
- data/go/vendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
- data/go/vendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
- data/go/vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
- data/go/vendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux.go +4207 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +883 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +883 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +888 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +885 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +875 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +889 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +889 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +889 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +889 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +941 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +945 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +945 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +885 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +944 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +987 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
- data/go/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
- data/go/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
- data/go/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
- data/go/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
- data/go/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
- data/go/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
- data/go/vendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
- data/go/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
- data/go/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
- data/go/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux.go +6475 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +717 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +731 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +711 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +710 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +711 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +716 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +713 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +713 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +716 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +724 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +719 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +719 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +798 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +733 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +714 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
- data/go/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
- data/go/vendor/golang.org/x/sys/windows/aliases.go +13 -0
- data/go/vendor/golang.org/x/sys/windows/dll_windows.go +380 -0
- data/go/vendor/golang.org/x/sys/windows/env_windows.go +57 -0
- data/go/vendor/golang.org/x/sys/windows/eventlog.go +20 -0
- data/go/vendor/golang.org/x/sys/windows/exec_windows.go +248 -0
- data/go/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
- data/go/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
- data/go/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
- data/go/vendor/golang.org/x/sys/windows/mksyscall.go +9 -0
- data/go/vendor/golang.org/x/sys/windows/race.go +30 -0
- data/go/vendor/golang.org/x/sys/windows/race0.go +25 -0
- data/go/vendor/golang.org/x/sys/windows/security_windows.go +1537 -0
- data/go/vendor/golang.org/x/sys/windows/service.go +257 -0
- data/go/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
- data/go/vendor/golang.org/x/sys/windows/str.go +22 -0
- data/go/vendor/golang.org/x/sys/windows/syscall.go +104 -0
- data/go/vendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0
- data/go/vendor/golang.org/x/sys/windows/types_windows.go +4057 -0
- data/go/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
- data/go/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
- data/go/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
- data/go/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
- data/go/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
- data/go/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
- data/go/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0
- data/go/vendor/golang.org/x/text/LICENSE +27 -0
- data/go/vendor/golang.org/x/text/PATENTS +22 -0
- data/go/vendor/golang.org/x/text/secure/bidirule/bidirule.go +340 -0
- data/go/vendor/golang.org/x/text/transform/transform.go +709 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/core.go +1064 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
- data/go/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- data/go/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- data/go/vendor/golang.org/x/text/unicode/norm/forminfo.go +296 -0
- data/go/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- data/go/vendor/golang.org/x/text/unicode/norm/iter.go +454 -0
- data/go/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- data/go/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- data/go/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- data/go/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go +8104 -0
- data/go/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- data/go/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- data/go/vendor/modules.txt +63 -0
- data/lib/puma_plus/core/version.rb +13 -0
- data/lib/puma_plus/core.rb +60 -0
- metadata +1099 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"crypto/rand"
|
|
5
|
+
"encoding/hex"
|
|
6
|
+
"errors"
|
|
7
|
+
"io"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
var ErrInvalidConnectionIDLen = errors.New("invalid Connection ID length")
|
|
11
|
+
|
|
12
|
+
// An ArbitraryLenConnectionID is a QUIC Connection ID able to represent Connection IDs according to RFC 8999.
|
|
13
|
+
// Future QUIC versions might allow connection ID lengths up to 255 bytes, while QUIC v1
|
|
14
|
+
// restricts the length to 20 bytes.
|
|
15
|
+
type ArbitraryLenConnectionID []byte
|
|
16
|
+
|
|
17
|
+
func (c ArbitraryLenConnectionID) Len() int {
|
|
18
|
+
return len(c)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
func (c ArbitraryLenConnectionID) Bytes() []byte {
|
|
22
|
+
return c
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
func (c ArbitraryLenConnectionID) String() string {
|
|
26
|
+
if c.Len() == 0 {
|
|
27
|
+
return "(empty)"
|
|
28
|
+
}
|
|
29
|
+
return hex.EncodeToString(c.Bytes())
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const maxConnectionIDLen = 20
|
|
33
|
+
|
|
34
|
+
// A ConnectionID in QUIC
|
|
35
|
+
type ConnectionID struct {
|
|
36
|
+
b [20]byte
|
|
37
|
+
l uint8
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// GenerateConnectionID generates a connection ID using cryptographic random
|
|
41
|
+
func GenerateConnectionID(l int) (ConnectionID, error) {
|
|
42
|
+
var c ConnectionID
|
|
43
|
+
c.l = uint8(l)
|
|
44
|
+
_, err := rand.Read(c.b[:l])
|
|
45
|
+
return c, err
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// ParseConnectionID interprets b as a Connection ID.
|
|
49
|
+
// It panics if b is longer than 20 bytes.
|
|
50
|
+
func ParseConnectionID(b []byte) ConnectionID {
|
|
51
|
+
if len(b) > maxConnectionIDLen {
|
|
52
|
+
panic("invalid conn id length")
|
|
53
|
+
}
|
|
54
|
+
var c ConnectionID
|
|
55
|
+
c.l = uint8(len(b))
|
|
56
|
+
copy(c.b[:c.l], b)
|
|
57
|
+
return c
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// GenerateConnectionIDForInitial generates a connection ID for the Initial packet.
|
|
61
|
+
// It uses a length randomly chosen between 8 and 20 bytes.
|
|
62
|
+
func GenerateConnectionIDForInitial() (ConnectionID, error) {
|
|
63
|
+
r := make([]byte, 1)
|
|
64
|
+
if _, err := rand.Read(r); err != nil {
|
|
65
|
+
return ConnectionID{}, err
|
|
66
|
+
}
|
|
67
|
+
l := MinConnectionIDLenInitial + int(r[0])%(maxConnectionIDLen-MinConnectionIDLenInitial+1)
|
|
68
|
+
return GenerateConnectionID(l)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ReadConnectionID reads a connection ID of length len from the given io.Reader.
|
|
72
|
+
// It returns io.EOF if there are not enough bytes to read.
|
|
73
|
+
func ReadConnectionID(r io.Reader, l int) (ConnectionID, error) {
|
|
74
|
+
var c ConnectionID
|
|
75
|
+
if l == 0 {
|
|
76
|
+
return c, nil
|
|
77
|
+
}
|
|
78
|
+
if l > maxConnectionIDLen {
|
|
79
|
+
return c, ErrInvalidConnectionIDLen
|
|
80
|
+
}
|
|
81
|
+
c.l = uint8(l)
|
|
82
|
+
_, err := io.ReadFull(r, c.b[:l])
|
|
83
|
+
if err == io.ErrUnexpectedEOF {
|
|
84
|
+
return c, io.EOF
|
|
85
|
+
}
|
|
86
|
+
return c, err
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Len returns the length of the connection ID in bytes
|
|
90
|
+
func (c ConnectionID) Len() int {
|
|
91
|
+
return int(c.l)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Bytes returns the byte representation
|
|
95
|
+
func (c ConnectionID) Bytes() []byte {
|
|
96
|
+
return c.b[:c.l]
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
func (c ConnectionID) String() string {
|
|
100
|
+
if c.Len() == 0 {
|
|
101
|
+
return "(empty)"
|
|
102
|
+
}
|
|
103
|
+
return hex.EncodeToString(c.Bytes())
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type DefaultConnectionIDGenerator struct {
|
|
107
|
+
ConnLen int
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
func (d *DefaultConnectionIDGenerator) GenerateConnectionID() (ConnectionID, error) {
|
|
111
|
+
return GenerateConnectionID(d.ConnLen)
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
func (d *DefaultConnectionIDGenerator) ConnectionIDLen() int {
|
|
115
|
+
return d.ConnLen
|
|
116
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"crypto/tls"
|
|
5
|
+
"fmt"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
// EncryptionLevel is the encryption level
|
|
9
|
+
// Default value is Unencrypted
|
|
10
|
+
type EncryptionLevel uint8
|
|
11
|
+
|
|
12
|
+
const (
|
|
13
|
+
// EncryptionInitial is the Initial encryption level
|
|
14
|
+
EncryptionInitial EncryptionLevel = 1 + iota
|
|
15
|
+
// EncryptionHandshake is the Handshake encryption level
|
|
16
|
+
EncryptionHandshake
|
|
17
|
+
// Encryption0RTT is the 0-RTT encryption level
|
|
18
|
+
Encryption0RTT
|
|
19
|
+
// Encryption1RTT is the 1-RTT encryption level
|
|
20
|
+
Encryption1RTT
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
func (e EncryptionLevel) String() string {
|
|
24
|
+
switch e {
|
|
25
|
+
case EncryptionInitial:
|
|
26
|
+
return "Initial"
|
|
27
|
+
case EncryptionHandshake:
|
|
28
|
+
return "Handshake"
|
|
29
|
+
case Encryption0RTT:
|
|
30
|
+
return "0-RTT"
|
|
31
|
+
case Encryption1RTT:
|
|
32
|
+
return "1-RTT"
|
|
33
|
+
}
|
|
34
|
+
return "unknown"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
func (e EncryptionLevel) ToTLSEncryptionLevel() tls.QUICEncryptionLevel {
|
|
38
|
+
switch e {
|
|
39
|
+
case EncryptionInitial:
|
|
40
|
+
return tls.QUICEncryptionLevelInitial
|
|
41
|
+
case EncryptionHandshake:
|
|
42
|
+
return tls.QUICEncryptionLevelHandshake
|
|
43
|
+
case Encryption1RTT:
|
|
44
|
+
return tls.QUICEncryptionLevelApplication
|
|
45
|
+
case Encryption0RTT:
|
|
46
|
+
return tls.QUICEncryptionLevelEarly
|
|
47
|
+
default:
|
|
48
|
+
panic(fmt.Sprintf("unexpected encryption level: %s", e))
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
func FromTLSEncryptionLevel(e tls.QUICEncryptionLevel) EncryptionLevel {
|
|
53
|
+
switch e {
|
|
54
|
+
case tls.QUICEncryptionLevelInitial:
|
|
55
|
+
return EncryptionInitial
|
|
56
|
+
case tls.QUICEncryptionLevelHandshake:
|
|
57
|
+
return EncryptionHandshake
|
|
58
|
+
case tls.QUICEncryptionLevelApplication:
|
|
59
|
+
return Encryption1RTT
|
|
60
|
+
case tls.QUICEncryptionLevelEarly:
|
|
61
|
+
return Encryption0RTT
|
|
62
|
+
default:
|
|
63
|
+
panic(fmt.Sprintf("unexpect encryption level: %s", e))
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
// KeyPhase is the key phase
|
|
4
|
+
type KeyPhase uint64
|
|
5
|
+
|
|
6
|
+
// Bit determines the key phase bit
|
|
7
|
+
func (p KeyPhase) Bit() KeyPhaseBit {
|
|
8
|
+
if p%2 == 0 {
|
|
9
|
+
return KeyPhaseZero
|
|
10
|
+
}
|
|
11
|
+
return KeyPhaseOne
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// KeyPhaseBit is the key phase bit
|
|
15
|
+
type KeyPhaseBit uint8
|
|
16
|
+
|
|
17
|
+
const (
|
|
18
|
+
// KeyPhaseUndefined is an undefined key phase
|
|
19
|
+
KeyPhaseUndefined KeyPhaseBit = iota
|
|
20
|
+
// KeyPhaseZero is key phase 0
|
|
21
|
+
KeyPhaseZero
|
|
22
|
+
// KeyPhaseOne is key phase 1
|
|
23
|
+
KeyPhaseOne
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
func (p KeyPhaseBit) String() string {
|
|
27
|
+
//nolint:exhaustive
|
|
28
|
+
switch p {
|
|
29
|
+
case KeyPhaseZero:
|
|
30
|
+
return "0"
|
|
31
|
+
case KeyPhaseOne:
|
|
32
|
+
return "1"
|
|
33
|
+
default:
|
|
34
|
+
return "undefined"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
// A PacketNumber in QUIC
|
|
4
|
+
type PacketNumber int64
|
|
5
|
+
|
|
6
|
+
// InvalidPacketNumber is a packet number that is never sent.
|
|
7
|
+
// In QUIC, 0 is a valid packet number.
|
|
8
|
+
const InvalidPacketNumber PacketNumber = -1
|
|
9
|
+
|
|
10
|
+
// PacketNumberLen is the length of the packet number in bytes
|
|
11
|
+
type PacketNumberLen uint8
|
|
12
|
+
|
|
13
|
+
const (
|
|
14
|
+
// PacketNumberLen1 is a packet number length of 1 byte
|
|
15
|
+
PacketNumberLen1 PacketNumberLen = 1
|
|
16
|
+
// PacketNumberLen2 is a packet number length of 2 bytes
|
|
17
|
+
PacketNumberLen2 PacketNumberLen = 2
|
|
18
|
+
// PacketNumberLen3 is a packet number length of 3 bytes
|
|
19
|
+
PacketNumberLen3 PacketNumberLen = 3
|
|
20
|
+
// PacketNumberLen4 is a packet number length of 4 bytes
|
|
21
|
+
PacketNumberLen4 PacketNumberLen = 4
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
// DecodePacketNumber calculates the packet number based its length and the last seen packet number
|
|
25
|
+
// This function is taken from https://www.rfc-editor.org/rfc/rfc9000.html#section-a.3.
|
|
26
|
+
func DecodePacketNumber(length PacketNumberLen, largest PacketNumber, truncated PacketNumber) PacketNumber {
|
|
27
|
+
expected := largest + 1
|
|
28
|
+
win := PacketNumber(1 << (length * 8))
|
|
29
|
+
hwin := win / 2
|
|
30
|
+
mask := win - 1
|
|
31
|
+
candidate := (expected & ^mask) | truncated
|
|
32
|
+
if candidate <= expected-hwin && candidate < 1<<62-win {
|
|
33
|
+
return candidate + win
|
|
34
|
+
}
|
|
35
|
+
if candidate > expected+hwin && candidate >= win {
|
|
36
|
+
return candidate - win
|
|
37
|
+
}
|
|
38
|
+
return candidate
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// PacketNumberLengthForHeader gets the length of the packet number for the public header
|
|
42
|
+
// it never chooses a PacketNumberLen of 1 byte, since this is too short under certain circumstances
|
|
43
|
+
func PacketNumberLengthForHeader(pn, largestAcked PacketNumber) PacketNumberLen {
|
|
44
|
+
var numUnacked PacketNumber
|
|
45
|
+
if largestAcked == InvalidPacketNumber {
|
|
46
|
+
numUnacked = pn + 1
|
|
47
|
+
} else {
|
|
48
|
+
numUnacked = pn - largestAcked
|
|
49
|
+
}
|
|
50
|
+
if numUnacked < 1<<(16-1) {
|
|
51
|
+
return PacketNumberLen2
|
|
52
|
+
}
|
|
53
|
+
if numUnacked < 1<<(24-1) {
|
|
54
|
+
return PacketNumberLen3
|
|
55
|
+
}
|
|
56
|
+
return PacketNumberLen4
|
|
57
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
import "time"
|
|
4
|
+
|
|
5
|
+
// DesiredReceiveBufferSize is the kernel UDP receive buffer size that we'd like to use.
|
|
6
|
+
const DesiredReceiveBufferSize = (1 << 20) * 7 // 7 MB
|
|
7
|
+
|
|
8
|
+
// DesiredSendBufferSize is the kernel UDP send buffer size that we'd like to use.
|
|
9
|
+
const DesiredSendBufferSize = (1 << 20) * 7 // 7 MB
|
|
10
|
+
|
|
11
|
+
// InitialPacketSize is the initial (before Path MTU discovery) maximum packet size used.
|
|
12
|
+
const InitialPacketSize = 1280
|
|
13
|
+
|
|
14
|
+
// MaxCongestionWindowPackets is the maximum congestion window in packet.
|
|
15
|
+
const MaxCongestionWindowPackets = 10000
|
|
16
|
+
|
|
17
|
+
// MaxUndecryptablePackets limits the number of undecryptable packets that are queued in the connection.
|
|
18
|
+
const MaxUndecryptablePackets = 32
|
|
19
|
+
|
|
20
|
+
// ConnectionFlowControlMultiplier determines how much larger the connection flow control windows needs to be relative to any stream's flow control window
|
|
21
|
+
// This is the value that Chromium is using
|
|
22
|
+
const ConnectionFlowControlMultiplier = 1.5
|
|
23
|
+
|
|
24
|
+
// DefaultInitialMaxStreamData is the default initial stream-level flow control window for receiving data
|
|
25
|
+
const DefaultInitialMaxStreamData = (1 << 10) * 512 // 512 kb
|
|
26
|
+
|
|
27
|
+
// DefaultInitialMaxData is the connection-level flow control window for receiving data
|
|
28
|
+
const DefaultInitialMaxData = ConnectionFlowControlMultiplier * DefaultInitialMaxStreamData
|
|
29
|
+
|
|
30
|
+
// DefaultMaxReceiveStreamFlowControlWindow is the default maximum stream-level flow control window for receiving data
|
|
31
|
+
const DefaultMaxReceiveStreamFlowControlWindow = 6 * (1 << 20) // 6 MB
|
|
32
|
+
|
|
33
|
+
// DefaultMaxReceiveConnectionFlowControlWindow is the default connection-level flow control window for receiving data
|
|
34
|
+
const DefaultMaxReceiveConnectionFlowControlWindow = 15 * (1 << 20) // 15 MB
|
|
35
|
+
|
|
36
|
+
// WindowUpdateThreshold is the fraction of the receive window that has to be consumed before an higher offset is advertised to the client
|
|
37
|
+
const WindowUpdateThreshold = 0.25
|
|
38
|
+
|
|
39
|
+
// DefaultMaxIncomingStreams is the maximum number of streams that a peer may open
|
|
40
|
+
const DefaultMaxIncomingStreams = 100
|
|
41
|
+
|
|
42
|
+
// DefaultMaxIncomingUniStreams is the maximum number of unidirectional streams that a peer may open
|
|
43
|
+
const DefaultMaxIncomingUniStreams = 100
|
|
44
|
+
|
|
45
|
+
// MaxServerUnprocessedPackets is the max number of packets stored in the server that are not yet processed.
|
|
46
|
+
const MaxServerUnprocessedPackets = 1024
|
|
47
|
+
|
|
48
|
+
// MaxConnUnprocessedPackets is the max number of packets stored in each connection that are not yet processed.
|
|
49
|
+
const MaxConnUnprocessedPackets = 256
|
|
50
|
+
|
|
51
|
+
// SkipPacketInitialPeriod is the initial period length used for packet number skipping to prevent an Optimistic ACK attack.
|
|
52
|
+
// Every time a packet number is skipped, the period is doubled, up to SkipPacketMaxPeriod.
|
|
53
|
+
const SkipPacketInitialPeriod PacketNumber = 256
|
|
54
|
+
|
|
55
|
+
// SkipPacketMaxPeriod is the maximum period length used for packet number skipping.
|
|
56
|
+
const SkipPacketMaxPeriod PacketNumber = 128 * 1024
|
|
57
|
+
|
|
58
|
+
// MaxAcceptQueueSize is the maximum number of connections that the server queues for accepting.
|
|
59
|
+
// If the queue is full, new connection attempts will be rejected.
|
|
60
|
+
const MaxAcceptQueueSize = 32
|
|
61
|
+
|
|
62
|
+
// TokenValidity is the duration that a (non-retry) token is considered valid
|
|
63
|
+
const TokenValidity = 24 * time.Hour
|
|
64
|
+
|
|
65
|
+
// MaxOutstandingSentPackets is maximum number of packets saved for retransmission.
|
|
66
|
+
// When reached, it imposes a soft limit on sending new packets:
|
|
67
|
+
// Sending ACKs and retransmission is still allowed, but now new regular packets can be sent.
|
|
68
|
+
const MaxOutstandingSentPackets = 2 * MaxCongestionWindowPackets
|
|
69
|
+
|
|
70
|
+
// MaxTrackedSentPackets is maximum number of sent packets saved for retransmission.
|
|
71
|
+
// When reached, no more packets will be sent.
|
|
72
|
+
// This value *must* be larger than MaxOutstandingSentPackets.
|
|
73
|
+
const MaxTrackedSentPackets = MaxOutstandingSentPackets * 5 / 4
|
|
74
|
+
|
|
75
|
+
// MaxNonAckElicitingAcks is the maximum number of packets containing an ACK,
|
|
76
|
+
// but no ack-eliciting frames, that we send in a row
|
|
77
|
+
const MaxNonAckElicitingAcks = 19
|
|
78
|
+
|
|
79
|
+
// MaxStreamFrameSorterGaps is the maximum number of gaps between received StreamFrames
|
|
80
|
+
// prevents DoS attacks against the streamFrameSorter
|
|
81
|
+
const MaxStreamFrameSorterGaps = 1000
|
|
82
|
+
|
|
83
|
+
// MinStreamFrameBufferSize is the minimum data length of a received STREAM frame
|
|
84
|
+
// that we use the buffer for. This protects against a DoS where an attacker would send us
|
|
85
|
+
// very small STREAM frames to consume a lot of memory.
|
|
86
|
+
const MinStreamFrameBufferSize = 128
|
|
87
|
+
|
|
88
|
+
// MinCoalescedPacketSize is the minimum size of a coalesced packet that we pack.
|
|
89
|
+
// If a packet has less than this number of bytes, we won't coalesce any more packets onto it.
|
|
90
|
+
const MinCoalescedPacketSize = 128
|
|
91
|
+
|
|
92
|
+
// MaxCryptoStreamOffset is the maximum offset allowed on any of the crypto streams.
|
|
93
|
+
// This limits the size of the ClientHello and Certificates that can be received.
|
|
94
|
+
const MaxCryptoStreamOffset = 16 * (1 << 10)
|
|
95
|
+
|
|
96
|
+
// MinRemoteIdleTimeout is the minimum value that we accept for the remote idle timeout
|
|
97
|
+
const MinRemoteIdleTimeout = 5 * time.Second
|
|
98
|
+
|
|
99
|
+
// DefaultIdleTimeout is the default idle timeout
|
|
100
|
+
const DefaultIdleTimeout = 30 * time.Second
|
|
101
|
+
|
|
102
|
+
// DefaultHandshakeIdleTimeout is the default idle timeout used before handshake completion.
|
|
103
|
+
const DefaultHandshakeIdleTimeout = 5 * time.Second
|
|
104
|
+
|
|
105
|
+
// MinStreamFrameSize is the minimum size that has to be left in a packet, so that we add another STREAM frame.
|
|
106
|
+
// This avoids splitting up STREAM frames into small pieces, which has 2 advantages:
|
|
107
|
+
// 1. it reduces the framing overhead
|
|
108
|
+
// 2. it reduces the head-of-line blocking, when a packet is lost
|
|
109
|
+
const MinStreamFrameSize ByteCount = 128
|
|
110
|
+
|
|
111
|
+
// MaxPostHandshakeCryptoFrameSize is the maximum size of CRYPTO frames
|
|
112
|
+
// we send after the handshake completes.
|
|
113
|
+
const MaxPostHandshakeCryptoFrameSize = 1000
|
|
114
|
+
|
|
115
|
+
// MaxNumAckRanges is the maximum number of ACK ranges that we send in an ACK frame.
|
|
116
|
+
// It also serves as a limit for the packet history.
|
|
117
|
+
// If at any point we keep track of more ranges, old ranges are discarded.
|
|
118
|
+
//
|
|
119
|
+
// This value also guarantees that ACK Range Count value in the ACK frame can be encoded
|
|
120
|
+
// in a single byte varint.
|
|
121
|
+
const MaxNumAckRanges = 64
|
|
122
|
+
|
|
123
|
+
// MinPacingDelay is the minimum duration that is used for packet pacing
|
|
124
|
+
// If the packet packing frequency is higher, multiple packets might be sent at once.
|
|
125
|
+
// Example: For a packet pacing delay of 200μs, we would send 5 packets at once, wait for 1ms, and so forth.
|
|
126
|
+
const MinPacingDelay = time.Millisecond
|
|
127
|
+
|
|
128
|
+
// DefaultConnectionIDLength is the connection ID length that is used for multiplexed connections
|
|
129
|
+
// if no other value is configured.
|
|
130
|
+
const DefaultConnectionIDLength = 4
|
|
131
|
+
|
|
132
|
+
// MaxActiveConnectionIDs is the number of connection IDs that we're storing.
|
|
133
|
+
const MaxActiveConnectionIDs = 4
|
|
134
|
+
|
|
135
|
+
// MaxIssuedConnectionIDs is the maximum number of connection IDs that we're issuing at the same time.
|
|
136
|
+
const MaxIssuedConnectionIDs = 6
|
|
137
|
+
|
|
138
|
+
// PacketsPerConnectionID is the number of packets we send using one connection ID.
|
|
139
|
+
// If the peer provices us with enough new connection IDs, we switch to a new connection ID.
|
|
140
|
+
const PacketsPerConnectionID = 10000
|
|
141
|
+
|
|
142
|
+
// AckDelayExponent is the ack delay exponent used when sending ACKs.
|
|
143
|
+
const AckDelayExponent = 3
|
|
144
|
+
|
|
145
|
+
// Estimated timer granularity.
|
|
146
|
+
// The loss detection timer will not be set to a value smaller than granularity.
|
|
147
|
+
const TimerGranularity = time.Millisecond
|
|
148
|
+
|
|
149
|
+
// MaxAckDelay is the maximum time by which we delay sending ACKs.
|
|
150
|
+
const MaxAckDelay = 25 * time.Millisecond
|
|
151
|
+
|
|
152
|
+
// MaxAckDelayInclGranularity is the max_ack_delay including the timer granularity.
|
|
153
|
+
// This is the value that should be advertised to the peer.
|
|
154
|
+
const MaxAckDelayInclGranularity = MaxAckDelay + TimerGranularity
|
|
155
|
+
|
|
156
|
+
// KeyUpdateInterval is the maximum number of packets we send or receive before initiating a key update.
|
|
157
|
+
const KeyUpdateInterval = 100 * 1000
|
|
158
|
+
|
|
159
|
+
// Max0RTTQueueingDuration is the maximum time that we store 0-RTT packets in order to wait for the corresponding Initial to be received.
|
|
160
|
+
const Max0RTTQueueingDuration = 100 * time.Millisecond
|
|
161
|
+
|
|
162
|
+
// Max0RTTQueues is the maximum number of connections that we buffer 0-RTT packets for.
|
|
163
|
+
const Max0RTTQueues = 32
|
|
164
|
+
|
|
165
|
+
// Max0RTTQueueLen is the maximum number of 0-RTT packets that we buffer for each connection.
|
|
166
|
+
// When a new connection is created, all buffered packets are passed to the connection immediately.
|
|
167
|
+
// To avoid blocking, this value has to be smaller than MaxConnUnprocessedPackets.
|
|
168
|
+
// To avoid packets being dropped as undecryptable by the connection, this value has to be smaller than MaxUndecryptablePackets.
|
|
169
|
+
const Max0RTTQueueLen = 31
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
// Perspective determines if we're acting as a server or a client
|
|
4
|
+
type Perspective int
|
|
5
|
+
|
|
6
|
+
// the perspectives
|
|
7
|
+
const (
|
|
8
|
+
PerspectiveServer Perspective = 1
|
|
9
|
+
PerspectiveClient Perspective = 2
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
// Opposite returns the perspective of the peer
|
|
13
|
+
func (p Perspective) Opposite() Perspective {
|
|
14
|
+
return 3 - p
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
func (p Perspective) String() string {
|
|
18
|
+
switch p {
|
|
19
|
+
case PerspectiveServer:
|
|
20
|
+
return "server"
|
|
21
|
+
case PerspectiveClient:
|
|
22
|
+
return "client"
|
|
23
|
+
default:
|
|
24
|
+
return "invalid perspective"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
package protocol
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"fmt"
|
|
5
|
+
"time"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
// The PacketType is the Long Header Type
|
|
9
|
+
type PacketType uint8
|
|
10
|
+
|
|
11
|
+
const (
|
|
12
|
+
// PacketTypeInitial is the packet type of an Initial packet
|
|
13
|
+
PacketTypeInitial PacketType = 1 + iota
|
|
14
|
+
// PacketTypeRetry is the packet type of a Retry packet
|
|
15
|
+
PacketTypeRetry
|
|
16
|
+
// PacketTypeHandshake is the packet type of a Handshake packet
|
|
17
|
+
PacketTypeHandshake
|
|
18
|
+
// PacketType0RTT is the packet type of a 0-RTT packet
|
|
19
|
+
PacketType0RTT
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
func (t PacketType) String() string {
|
|
23
|
+
switch t {
|
|
24
|
+
case PacketTypeInitial:
|
|
25
|
+
return "Initial"
|
|
26
|
+
case PacketTypeRetry:
|
|
27
|
+
return "Retry"
|
|
28
|
+
case PacketTypeHandshake:
|
|
29
|
+
return "Handshake"
|
|
30
|
+
case PacketType0RTT:
|
|
31
|
+
return "0-RTT Protected"
|
|
32
|
+
default:
|
|
33
|
+
return fmt.Sprintf("unknown packet type: %d", t)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type ECN uint8
|
|
38
|
+
|
|
39
|
+
const (
|
|
40
|
+
ECNUnsupported ECN = iota
|
|
41
|
+
ECNNon // 00
|
|
42
|
+
ECT1 // 01
|
|
43
|
+
ECT0 // 10
|
|
44
|
+
ECNCE // 11
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
func ParseECNHeaderBits(bits byte) ECN {
|
|
48
|
+
switch bits {
|
|
49
|
+
case 0:
|
|
50
|
+
return ECNNon
|
|
51
|
+
case 0b00000010:
|
|
52
|
+
return ECT0
|
|
53
|
+
case 0b00000001:
|
|
54
|
+
return ECT1
|
|
55
|
+
case 0b00000011:
|
|
56
|
+
return ECNCE
|
|
57
|
+
default:
|
|
58
|
+
panic("invalid ECN bits")
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
func (e ECN) ToHeaderBits() byte {
|
|
63
|
+
//nolint:exhaustive // There are only 4 values.
|
|
64
|
+
switch e {
|
|
65
|
+
case ECNNon:
|
|
66
|
+
return 0
|
|
67
|
+
case ECT0:
|
|
68
|
+
return 0b00000010
|
|
69
|
+
case ECT1:
|
|
70
|
+
return 0b00000001
|
|
71
|
+
case ECNCE:
|
|
72
|
+
return 0b00000011
|
|
73
|
+
default:
|
|
74
|
+
panic("ECN unsupported")
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
func (e ECN) String() string {
|
|
79
|
+
switch e {
|
|
80
|
+
case ECNUnsupported:
|
|
81
|
+
return "ECN unsupported"
|
|
82
|
+
case ECNNon:
|
|
83
|
+
return "Not-ECT"
|
|
84
|
+
case ECT1:
|
|
85
|
+
return "ECT(1)"
|
|
86
|
+
case ECT0:
|
|
87
|
+
return "ECT(0)"
|
|
88
|
+
case ECNCE:
|
|
89
|
+
return "CE"
|
|
90
|
+
default:
|
|
91
|
+
return fmt.Sprintf("invalid ECN value: %d", e)
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// A ByteCount in QUIC
|
|
96
|
+
type ByteCount int64
|
|
97
|
+
|
|
98
|
+
// MaxByteCount is the maximum value of a ByteCount
|
|
99
|
+
const MaxByteCount = ByteCount(1<<62 - 1)
|
|
100
|
+
|
|
101
|
+
// InvalidByteCount is an invalid byte count
|
|
102
|
+
const InvalidByteCount ByteCount = -1
|
|
103
|
+
|
|
104
|
+
// A StatelessResetToken is a stateless reset token.
|
|
105
|
+
type StatelessResetToken [16]byte
|
|
106
|
+
|
|
107
|
+
// MaxPacketBufferSize maximum packet size of any QUIC packet, based on
|
|
108
|
+
// ethernet's max size, minus the IP and UDP headers. IPv6 has a 40 byte header,
|
|
109
|
+
// UDP adds an additional 8 bytes. This is a total overhead of 48 bytes.
|
|
110
|
+
// Ethernet's max packet size is 1500 bytes, 1500 - 48 = 1452.
|
|
111
|
+
const MaxPacketBufferSize = 1452
|
|
112
|
+
|
|
113
|
+
// MaxLargePacketBufferSize is used when using GSO
|
|
114
|
+
const MaxLargePacketBufferSize = 20 * 1024
|
|
115
|
+
|
|
116
|
+
// MinInitialPacketSize is the minimum size an Initial packet is required to have.
|
|
117
|
+
const MinInitialPacketSize = 1200
|
|
118
|
+
|
|
119
|
+
// MinUnknownVersionPacketSize is the minimum size a packet with an unknown version
|
|
120
|
+
// needs to have in order to trigger a Version Negotiation packet.
|
|
121
|
+
const MinUnknownVersionPacketSize = MinInitialPacketSize
|
|
122
|
+
|
|
123
|
+
// MinStatelessResetSize is the minimum size of a stateless reset packet that we send
|
|
124
|
+
const MinStatelessResetSize = 1 /* first byte */ + 20 /* max. conn ID length */ + 4 /* max. packet number length */ + 1 /* min. payload length */ + 16 /* token */
|
|
125
|
+
|
|
126
|
+
// MinReceivedStatelessResetSize is the minimum size of a received stateless reset,
|
|
127
|
+
// as specified in section 10.3 of RFC 9000.
|
|
128
|
+
const MinReceivedStatelessResetSize = 5 + 16
|
|
129
|
+
|
|
130
|
+
// MinConnectionIDLenInitial is the minimum length of the destination connection ID on an Initial packet.
|
|
131
|
+
const MinConnectionIDLenInitial = 8
|
|
132
|
+
|
|
133
|
+
// DefaultAckDelayExponent is the default ack delay exponent
|
|
134
|
+
const DefaultAckDelayExponent = 3
|
|
135
|
+
|
|
136
|
+
// DefaultActiveConnectionIDLimit is the default active connection ID limit
|
|
137
|
+
const DefaultActiveConnectionIDLimit = 2
|
|
138
|
+
|
|
139
|
+
// MaxAckDelayExponent is the maximum ack delay exponent
|
|
140
|
+
const MaxAckDelayExponent = 20
|
|
141
|
+
|
|
142
|
+
// DefaultMaxAckDelay is the default max_ack_delay
|
|
143
|
+
const DefaultMaxAckDelay = 25 * time.Millisecond
|
|
144
|
+
|
|
145
|
+
// MaxMaxAckDelay is the maximum max_ack_delay
|
|
146
|
+
const MaxMaxAckDelay = (1<<14 - 1) * time.Millisecond
|
|
147
|
+
|
|
148
|
+
// MaxConnIDLen is the maximum length of the connection ID
|
|
149
|
+
const MaxConnIDLen = 20
|
|
150
|
+
|
|
151
|
+
// InvalidPacketLimitAES is the maximum number of packets that we can fail to decrypt when using
|
|
152
|
+
// AEAD_AES_128_GCM or AEAD_AES_265_GCM.
|
|
153
|
+
const InvalidPacketLimitAES = 1 << 52
|
|
154
|
+
|
|
155
|
+
// InvalidPacketLimitChaCha is the maximum number of packets that we can fail to decrypt when using AEAD_CHACHA20_POLY1305.
|
|
156
|
+
const InvalidPacketLimitChaCha = 1 << 36
|