[INFO] cloning repository https://github.com/ShaoG-R/kestrel-protocol [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ShaoG-R/kestrel-protocol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaoG-R%2Fkestrel-protocol", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaoG-R%2Fkestrel-protocol'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c6cec0f55e4c34e0335412d03afa5dba92cbbe64 [INFO] testing ShaoG-R/kestrel-protocol against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaoG-R%2Fkestrel-protocol" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ShaoG-R/kestrel-protocol [INFO] finished tweaking git repo https://github.com/ShaoG-R/kestrel-protocol [INFO] tweaked toml for git repo https://github.com/ShaoG-R/kestrel-protocol written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ShaoG-R/kestrel-protocol on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ShaoG-R/kestrel-protocol already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded notify v8.1.0 [INFO] [stderr] Downloaded topological-sort v0.2.2 [INFO] [stderr] Downloaded opener v0.8.2 [INFO] [stderr] Downloaded notify-debouncer-mini v0.6.0 [INFO] [stderr] Downloaded pulldown-cmark-escape v0.10.1 [INFO] [stderr] Downloaded tokio-tungstenite v0.26.2 [INFO] [stderr] Downloaded ammonia v4.1.1 [INFO] [stderr] Downloaded clap_complete v4.5.55 [INFO] [stderr] Downloaded pest_meta v2.8.1 [INFO] [stderr] Downloaded pulldown-cmark v0.10.3 [INFO] [stderr] Downloaded toml_edit v0.15.0 [INFO] [stderr] Downloaded pest_derive v2.8.1 [INFO] [stderr] Downloaded pest_generator v2.8.1 [INFO] [stderr] Downloaded elasticlunr-rs v3.0.2 [INFO] [stderr] Downloaded handlebars v6.3.2 [INFO] [stderr] Downloaded mdbook-mermaid v0.15.0 [INFO] [stderr] Downloaded mdbook v0.4.52 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e377ce9b43c8bcfec67bd6a49149e6aab2895e896f9ab934fcb5b21a78a3334b [INFO] running `Command { std: "docker" "start" "-a" "e377ce9b43c8bcfec67bd6a49149e6aab2895e896f9ab934fcb5b21a78a3334b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e377ce9b43c8bcfec67bd6a49149e6aab2895e896f9ab934fcb5b21a78a3334b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e377ce9b43c8bcfec67bd6a49149e6aab2895e896f9ab934fcb5b21a78a3334b", kill_on_drop: false }` [INFO] [stdout] e377ce9b43c8bcfec67bd6a49149e6aab2895e896f9ab934fcb5b21a78a3334b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4c8a025a4c7c1dbe421a1f9e8e7713e996e4970ad1d10362672a96e32f916a2b [INFO] running `Command { std: "docker" "start" "-a" "4c8a025a4c7c1dbe421a1f9e8e7713e996e4970ad1d10362672a96e32f916a2b", kill_on_drop: false }` [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling event-listener v5.4.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling kestrel-protocol v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.94s [INFO] running `Command { std: "docker" "inspect" "4c8a025a4c7c1dbe421a1f9e8e7713e996e4970ad1d10362672a96e32f916a2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c8a025a4c7c1dbe421a1f9e8e7713e996e4970ad1d10362672a96e32f916a2b", kill_on_drop: false }` [INFO] [stdout] 4c8a025a4c7c1dbe421a1f9e8e7713e996e4970ad1d10362672a96e32f916a2b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c17a8c549161a1785bbf01cbfd4b9461ec9fc353c5394e74d9e4e7322d17efb [INFO] running `Command { std: "docker" "start" "-a" "6c17a8c549161a1785bbf01cbfd4b9461ec9fc353c5394e74d9e4e7322d17efb", kill_on_drop: false }` [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling anstyle-query v1.1.3 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling dtoa v1.0.10 [INFO] [stderr] Compiling anstream v0.6.19 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling num-modular v0.6.1 [INFO] [stderr] Compiling notify-types v2.0.0 [INFO] [stderr] Compiling pulldown-cmark v0.10.3 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling pulldown-cmark-escape v0.10.1 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling pulldown-cmark v0.9.6 [INFO] [stderr] Compiling jiff v0.2.15 [INFO] [stderr] Compiling notify v8.1.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling combine v4.6.7 [INFO] [stderr] Compiling num-order v1.2.0 [INFO] [stderr] Compiling toml_datetime v0.5.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling topological-sort v0.2.2 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling pathdiff v0.2.3 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling web_atoms v0.1.3 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling terminal_size v0.4.2 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling clap_builder v4.5.41 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling notify-debouncer-mini v0.6.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling bstr v1.12.0 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling globset v0.4.16 [INFO] [stderr] Compiling opener v0.8.2 [INFO] [stderr] Compiling ignore v0.4.23 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling toml_edit v0.15.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling match_token v0.35.0 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling clap v4.5.41 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling cssparser v0.35.0 [INFO] [stderr] Compiling clap_complete v4.5.55 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling tungstenite v0.26.2 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling axum-core v0.5.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling derive_builder v0.20.2 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling serde_path_to_error v0.1.17 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling markup5ever v0.35.0 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling html5ever v0.35.0 [INFO] [stderr] Compiling elasticlunr-rs v3.0.2 [INFO] [stderr] Compiling handlebars v6.3.2 [INFO] [stderr] Compiling hyper v1.6.0 [INFO] [stderr] Compiling tokio-tungstenite v0.26.2 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling kestrel-protocol v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling ammonia v4.1.1 [INFO] [stderr] Compiling hyper-util v0.1.16 [INFO] [stderr] Compiling axum v0.8.4 [INFO] [stderr] Compiling mdbook v0.4.52 [INFO] [stderr] Compiling mdbook-mermaid v0.15.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 51s [INFO] running `Command { std: "docker" "inspect" "6c17a8c549161a1785bbf01cbfd4b9461ec9fc353c5394e74d9e4e7322d17efb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c17a8c549161a1785bbf01cbfd4b9461ec9fc353c5394e74d9e4e7322d17efb", kill_on_drop: false }` [INFO] [stdout] 6c17a8c549161a1785bbf01cbfd4b9461ec9fc353c5394e74d9e4e7322d17efb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3d8cfd4d9204d2a6c766d74989808b75fe4f88f1865353ccbeac04f78a48d5e0 [INFO] running `Command { std: "docker" "start" "-a" "3d8cfd4d9204d2a6c766d74989808b75fe4f88f1865353ccbeac04f78a48d5e0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kestrel_protocol-0837c368ca466068) [INFO] [stdout] [INFO] [stdout] running 310 tests [INFO] [stdout] test core::endpoint::core::frame::tests::test_create_fin_frame ... ok [INFO] [stdout] test core::endpoint::core::frame::tests::test_create_ack_frame ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_clear_event_listeners ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_flush_empty ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_frame_larger_than_max_size ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_add_frames_batch ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_multiple_frames_fit ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_force_close ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_single_frame ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_frame_equals_max_size ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_data_permission_checks ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_path_validation ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_state_transitions ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_graceful_shutdown ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_graceful_shutdown_transitions ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_state_name_for ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_graceful_shutdown_checks ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_activity_checks ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_path_validation_checks ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_event_callbacks ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_invalid_state_transitions ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_activity_checks ... ok [INFO] [stdout] test core::endpoint::core::frame::tests::test_create_syn_frame ... ok [INFO] [stdout] test core::endpoint::processing::processors::ack::tests::test_ack_processor_can_handle ... ok [INFO] [stdout] test core::endpoint::processing::processors::ack::tests::test_processor_name ... ok [INFO] [stdout] test core::endpoint::processing::processors::connection::tests::test_connection_processor_can_handle ... ok [INFO] [stdout] test core::endpoint::processing::processors::connection::tests::test_processor_name ... ok [INFO] [stdout] test core::endpoint::processing::processors::data::tests::test_all_processor_interfaces_consistency ... ok [INFO] [stdout] test core::endpoint::processing::processors::data::tests::test_frame_type_validation ... ok [INFO] [stdout] test core::endpoint::processing::processors::data::tests::test_processor_name ... ok [INFO] [stdout] test core::endpoint::processing::processors::data::tests::test_processor_type_identification ... ok [INFO] [stdout] test core::endpoint::lifecycle::manager::tests::test_lifecycle_manager_initialization ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_event_listeners ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_execute_invalid_transition ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_data_permissions ... ok [INFO] [stdout] test core::endpoint::core::sender::tests::test_packet_builder_exceeds_mtu ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_should_close ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_execute_valid_transition ... ok [INFO] [stdout] test core::endpoint::processing::operations::tests::test_endpoint_operations_basic_info ... ok [INFO] [stdout] test core::endpoint::processing::operations::tests::test_endpoint_operations_reliability_layer ... ok [INFO] [stdout] test core::endpoint::processing::operations::tests::test_endpoint_operations_state_management ... ok [INFO] [stdout] test core::endpoint::lifecycle::transitions::tests::test_clear_event_listeners ... ok [INFO] [stdout] test core::endpoint::processing::operations::tests::test_processor_operations_ack_processing ... ok [INFO] [stdout] test core::endpoint::processing::operations::tests::test_processor_operations_fin_handling ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_invalid_transitions ... ok [INFO] [stdout] test core::endpoint::processing::processors::data::tests::test_push_processor_can_handle ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_calculate_next_wakeup_without_rto ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_calculate_next_wakeup_syn_received ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_check_connection_timeouts_idle_timeout ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_fin_pending_eof_operations ... ok [INFO] [stdout] test core::endpoint::processing::processors::path::tests::test_processor_name ... ok [INFO] [stdout] test core::endpoint::processing::processors::tests::test_frame_processor_routing ... ok [INFO] [stdout] test core::endpoint::processing::traits::tests::test_mock_endpoint_operations ... ok [INFO] [stdout] test core::endpoint::tests::event_dispatcher::tests::test_event_dispatcher_frame_routing ... ok [INFO] [stdout] test core::endpoint::lifecycle::validation::tests::test_valid_transitions ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_calculate_next_wakeup_with_rto ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_time_until_next_timeout ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_next_connection_timeout_deadline ... ok [INFO] [stdout] test core::endpoint::processing::processors::path::tests::test_path_processor_can_handle ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_should_trigger_timeout_handling ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timing_manager_creation ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timeout_debug_info ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timeout_event_enum ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timing_manager_with_start_time ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_check_connection_timeouts_no_timeout ... ok [INFO] [stdout] test core::endpoint::types::channels::tests::test_channel_manager_creation ... ok [INFO] [stdout] test core::endpoint::types::channels::tests::test_input_channel_status ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_unified_scheduler_cache_efficiency ... ok [INFO] [stdout] test core::endpoint::types::channels::tests::test_user_stream_operations ... ok [INFO] [stdout] test core::endpoint::types::identity::tests::test_connection_identity_creation ... ok [INFO] [stdout] test core::endpoint::types::identity::tests::test_connection_identity_setters ... ok [INFO] [stdout] test core::endpoint::types::identity::tests::test_connection_identity_matching ... ok [INFO] [stdout] test core::endpoint::types::state::tests::test_connection_state_traits ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_unified_scheduler_performance ... ok [INFO] [stdout] test core::endpoint::types::transport::tests::test_peer_window_operations ... ok [INFO] [stdout] test core::endpoint::types::transport::tests::test_transport_manager_creation ... ok [INFO] [stdout] test core::endpoint::types::transport::tests::test_transport_manager_debug ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_calculate_unified_deadline ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_prediction_with_insufficient_data ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_cleanup_expired_data ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_statistics ... ok [INFO] [stdout] test core::endpoint::types::transport::tests::test_transport_stats ... ok [INFO] [stdout] test core::endpoint::types::transport::tests::test_transport_manager_with_window ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_time_cache ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_unified_scheduler_creation ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_unified_timeout_check ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_avoidance_decrease_when_above_beta ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_avoidance_increase_when_below_alpha ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_congestive_loss_clamp_to_min ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_congestive_loss_reaction ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_loss_with_no_rtt_sample ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_avoidance_stable_between_alpha_beta ... ok [INFO] [stdout] test core::endpoint::unified_scheduler::tests::test_cache_functionality ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_min_rtt_tracking ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_random_loss_clamp_to_min ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_transition_to_congestion_avoidance ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_random_loss_reaction ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_slow_start ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_empty_buffer ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_prepend_frame ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_respects_cwnd ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_respects_flow_control ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_avoidance_decrease_clamp_to_min ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_zero_rtt_respects_congestion_window ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_zero_rtt_syn_ack_only ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_simple ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_receive_duplicate_and_old_packets ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_zero_rtt_syn_ack_with_data_multiple_packets ... ok [INFO] [stdout] test core::reliability::congestion::tests::test_vegas_initial_state ... ok [INFO] [stdout] test core::reliability::packetizer::tests::test_packetize_zero_rtt_syn_ack_with_data_single_packet ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_receive_in_order_and_reassemble ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_receive_out_of_order_and_reassemble ... ok [INFO] [stdout] test core::reliability::retransmission::rtt::tests::test_rtt_estimator_first_sample ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_sack_range_complex ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_receive_with_fin ... ok [INFO] [stdout] test core::reliability::recv_buffer::tests::test_sack_range_generation ... ok [INFO] [stdout] test core::reliability::retransmission::rtt::tests::test_rtt_estimator_initialization ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_clear ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_encode_decode_sack_ranges ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_fast_retransmission_frame_reconstruction ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_fast_retransmission ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_process_ack_cumulative_only ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_process_ack_with_sack ... ok [INFO] [stdout] test core::reliability::retransmission::sack_manager::tests::test_should_send_standalone_ack ... ok [INFO] [stdout] test core::reliability::retransmission::simple_retx_manager::tests::test_add_and_acknowledge_packet ... ok [INFO] [stdout] test core::reliability::retransmission::simple_retx_manager::tests::test_max_retries_reached ... ok [INFO] [stdout] test core::reliability::retransmission::simple_retx_manager::tests::test_next_retransmission_deadline ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_caller_side_performance ... ok [INFO] [stdout] test core::reliability::retransmission::simple_retx_manager::tests::test_retransmission_logic ... ok [INFO] [stdout] test core::reliability::retransmission::simple_retx_manager::tests::test_sack_acknowledgment ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_check_retransmission_timeouts_no_timeout ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_layered_retransmission_disabled ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_check_retransmission_timeouts_with_timeout ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_clear ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_frame_routing_to_correct_manager ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_next_retransmission_deadline ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_unified_ack_processing ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_next_retransmission_timeout_deadline ... ok [INFO] [stdout] test core::reliability::send_buffer::tests::test_capacity_limits ... ok [INFO] [stdout] test core::reliability::send_buffer::tests::test_stream_buffering_and_chunking ... ok [INFO] [stdout] test core::stream::tests::test_stream_eof ... ok [INFO] [stdout] test core::stream::tests::test_stream_read_into_small_buffers ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_on_packet_received ... ok [INFO] [stdout] test core::stream::tests::test_stream_read_multiple_chunks ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_layered_timeout_interface_consistency ... ok [INFO] [stdout] test core::stream::tests::test_stream_read_pre_buffered ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timing_state_updates ... ok [INFO] [stdout] test core::stream::tests::test_stream_read_simple ... ok [INFO] [stdout] test core::endpoint::timing::tests::test_timing_manager_updates ... ok [INFO] [stdout] test core::reliability::retransmission::rtt::tests::test_rtt_estimator_min_rto_enforced ... ok [INFO] [stdout] test core::reliability::retransmission::rtt::tests::test_rtt_estimator_subsequent_samples ... ok [INFO] [stdout] test core::reliability::retransmission::tests::test_unified_retransmission_check ... ok [INFO] [stdout] test core::stream::tests::test_stream_read_multiple_sends ... ok [INFO] [stdout] 2026-01-16T03:01:57.823968Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.823968Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.824044Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.824088Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824150Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824192Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=15 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.824229Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824259Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.824294Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=15 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.824299Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824331Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.824362Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.824370Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824383Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=15 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.824417Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.824423Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824449Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.824445Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.824469Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=116 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.824548Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.824575Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.824570Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=115 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.824596Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.824637Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.824650Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.824665Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.824678Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.824682Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 15 } } [INFO] [stdout] 2026-01-16T03:01:57.824713Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.824718Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.824731Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.824792Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 21, recv_window_size: 1024, timestamp: 0, sequence_number: 10, recv_next_sequence: 0 }, payload: b"data from new address" } [INFO] [stdout] 2026-01-16T03:01:57.824947Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824963Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Starting path validation cid=2 new_addr=127.0.0.1:9999 challenge_data=14226903422101716962 [INFO] [stdout] 2026-01-16T03:01:57.824982Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=117 remote_addr=127.0.0.1:9016 [INFO] [stdout] 2026-01-16T03:01:57.824983Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Established target_state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 14226903422101716962, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.825006Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="ValidatingPath" [INFO] [stdout] 2026-01-16T03:01:57.825050Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.825071Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2 delay_ms=30000 event_type=PathValidationTimeout [INFO] [stdout] 2026-01-16T03:01:57.825120Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 21, recv_window_size: 1024, timestamp: 0, sequence_number: 10, recv_next_sequence: 0 }, payload: b"data from new address" } [INFO] [stdout] 2026-01-16T03:01:57.825143Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=10 payload_len=21 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 14226903422101716962, notifier: None } [INFO] [stdout] 2026-01-16T03:01:57.825164Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH during path validation cid=2 seq=10 [INFO] [stdout] 2026-01-16T03:01:57.825171Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.825185Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\n\0\0\0\n" } [INFO] [stdout] 2026-01-16T03:01:57.825214Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.825228Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 14226903422101716962, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: true, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.825313Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=PathResponse { header: ShortHeader { command: PathResponse, connection_id: 2, payload_length: 8, recv_window_size: 0, timestamp: 0, sequence_number: 999, recv_next_sequence: 0 }, challenge_data: 14226903422101716962 } [INFO] [stdout] 2026-01-16T03:01:57.825342Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.825341Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PathProcessor" frame_type=PathResponse { header: ShortHeader { command: PathResponse, connection_id: 2, payload_length: 8, recv_window_size: 0, timestamp: 0, sequence_number: 999, recv_next_sequence: 0 }, challenge_data: 14226903422101716962 } [INFO] [stdout] 2026-01-16T03:01:57.825370Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=16 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.825377Z DEBUG kestrel_protocol::core::endpoint::processing::processors::path: Processing PathResponse frame cid=2 seq=999 challenge_data=14226903422101716962 src_addr=127.0.0.1:9999 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 14226903422101716962, notifier: None } [INFO] [stdout] 2026-01-16T03:01:57.825407Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.825403Z  INFO kestrel_protocol::core::endpoint::processing::processors::path: Path validation successful, migrating connection cid=2 old_addr=127.0.0.1:1234 new_addr=127.0.0.1:9999 [INFO] [stdout] 2026-01-16T03:01:57.825420Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Completing path validation cid=2 success=true [INFO] [stdout] 2026-01-16T03:01:57.825433Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 14226903422101716962, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: true, is_rx_task_set: false, is_tx_task_set: false } }) }) } target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.825441Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.825451Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="ValidatingPath" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.825472Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.825474Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=16 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.825487Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.825505Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.825526Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.825538Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.825541Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:9999 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 20, recv_window_size: 255, timestamp: 1, sequence_number: 2, recv_next_sequence: 0 }, payload: b"data after migration" } [INFO] [stdout] 2026-01-16T03:01:57.825559Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=16 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.825568Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.825613Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.825635Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.825655Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=117 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.825679Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.825770Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=14 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 14, source_cid: 114 } } [INFO] [stdout] 2026-01-16T03:01:57.825796Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 14, source_cid: 114 } } [INFO] [stdout] 2026-01-16T03:01:57.825815Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=14 peer_cid=114 state=Connecting [INFO] [stdout] test core::tests::lifecycle::test_connection_migration ... ok [INFO] [stdout] 2026-01-16T03:01:57.825891Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.825913Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.825949Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.825961Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=14 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.825977Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=14 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.826003Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=14 peer_cid=114 [INFO] [stdout] 2026-01-16T03:01:57.826021Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=14 frame=Push { header: ShortHeader { command: Push, connection_id: 14, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.826034Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.826042Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 14, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.826046Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.826062Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=14 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.826063Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.826081Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=14 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.826098Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.826103Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 114, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.826138Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:57.826135Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.826156Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=14 count=1 [INFO] [stdout] 2026-01-16T03:01:57.826159Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.826179Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.826248Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.826273Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12345 } } [INFO] [stdout] 2026-01-16T03:01:57.826291Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12345 } } [INFO] [stdout] 2026-01-16T03:01:57.826312Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=12345 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.826329Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.826323Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=116 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.826342Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.826350Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=116 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.826354Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.826374Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.826373Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.826384Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.826389Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.826397Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=116 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.826409Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.826418Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.826410Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=116 remote_addr=127.0.0.1:9015 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 16, source_cid: 116 } } [INFO] [stdout] 2026-01-16T03:01:57.826430Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.826441Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:57.826443Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 12345, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.826459Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:57.826468Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.826482Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.826552Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.826565Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:57.826595Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.826608Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.826614Z  INFO kestrel_protocol::core::tests::retransmission: --- RTO Recovery Test --- [INFO] [stdout] 2026-01-16T03:01:57.826621Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.826633Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.826643Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.826655Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.826666Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.826676Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.826687Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.826732Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.826754Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.824598Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=115 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.826802Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.826871Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.826886Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.826900Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=115 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.826913Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=115 remote_addr=127.0.0.1:9014 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 15, source_cid: 115 } } [INFO] [stdout] 2026-01-16T03:01:57.826947Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:57.826949Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.826964Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:57.826990Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.827048Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 16 } } [INFO] [stdout] 2026-01-16T03:01:57.827079Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.827098Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=16 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 16, source_cid: 116 } } [INFO] [stdout] 2026-01-16T03:01:57.827115Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 16, source_cid: 116 } } [INFO] [stdout] 2026-01-16T03:01:57.827134Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=16 peer_cid=116 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.827179Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.827196Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.827192Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.827226Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.827220Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.827240Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=16 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.827259Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=16 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.827299Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=16 peer_cid=116 [INFO] [stdout] 2026-01-16T03:01:57.827318Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=16 frame=Push { header: ShortHeader { command: Push, connection_id: 16, payload_length: 4, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.827338Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 16, payload_length: 4, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.827356Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=16 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.827374Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=16 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.827397Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 116, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.827418Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.827426Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:57.827441Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=16 count=1 [INFO] [stdout] 2026-01-16T03:01:57.827398Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.827465Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:57.827463Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.827467Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.827523Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.827550Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:57.827583Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.827600Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.827613Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.827625Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.827618Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.827636Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.827647Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.827650Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.827658Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.827670Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.827682Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.827855Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.827885Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.827916Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.827937Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.827953Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.827965Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.827977Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.828014Z  INFO kestrel_protocol::core::tests::retransmission: [Server] Sending probe to establish connection... [INFO] [stdout] 2026-01-16T03:01:57.827695Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.828085Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.828108Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.828130Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.828140Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.828158Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.828171Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.828200Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.828216Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.828062Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.828374Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] test core::tests::handshake::test_1rtt_handshake_with_server_data ... ok [INFO] [stdout] 2026-01-16T03:01:57.828694Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.829182Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.824141Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.829276Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.829689Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=118 remote_addr=127.0.0.1:9017 [INFO] [stdout] 2026-01-16T03:01:57.829736Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.829783Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.829816Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=118 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.829873Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.829914Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.829940Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.829984Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.830001Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.830003Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=15 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 15, source_cid: 115 } } [INFO] [stdout] 2026-01-16T03:01:57.830029Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.830031Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 15, source_cid: 115 } } [INFO] [stdout] 2026-01-16T03:01:57.830040Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.829754Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.830061Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.826701Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830080Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.830095Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 5, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"probe" } [INFO] [stdout] 2026-01-16T03:01:57.830116Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 5, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"probe" } [INFO] [stdout] 2026-01-16T03:01:57.830134Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.830151Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=5 [INFO] [stdout] 2026-01-16T03:01:57.830173Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.830201Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.830215Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=1 [INFO] [stdout] 2026-01-16T03:01:57.830221Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.830102Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830248Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=119 remote_addr=127.0.0.1:9018 [INFO] [stdout] 2026-01-16T03:01:57.830247Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.830053Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=15 peer_cid=115 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.830339Z  INFO kestrel_protocol::core::tests::retransmission: [Client] Handshake complete. [INFO] [stdout] 2026-01-16T03:01:57.830340Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.830354Z  INFO kestrel_protocol::core::tests::retransmission: [Client] Writing message... [INFO] [stdout] 2026-01-16T03:01:57.830360Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.830382Z  INFO kestrel_protocol::core::tests::retransmission: [Server] Reading message... [INFO] [stdout] 2026-01-16T03:01:57.830395Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.830277Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830408Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=15 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.830428Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=15 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.830451Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=15 peer_cid=115 [INFO] [stdout] 2026-01-16T03:01:57.830455Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.830468Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=15 frame=Push { header: ShortHeader { command: Push, connection_id: 15, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.830485Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.830490Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 15, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.830508Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=15 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.830502Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 29, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello, this is a test message" } [INFO] [stdout] 2026-01-16T03:01:57.830526Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=15 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.830538Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.830549Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 115, payload_length: 8, recv_window_size: 255, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.830428Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830582Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:57.830597Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=15 count=1 [INFO] [stdout] 2026-01-16T03:01:57.830574Z  INFO kestrel_protocol::core::tests::retransmission: Intentionally dropping client data packet post-handshake seq=0 [INFO] [stdout] 2026-01-16T03:01:57.830619Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:57.830701Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.830609Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830846Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.830877Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=18 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.830915Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.830773Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.830949Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.830973Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=18 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.831029Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.831051Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=18 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.830940Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.831097Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.831115Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.831134Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=119 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.831111Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 1200, recv_window_size: 256, timestamp: 3, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.831286Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=14 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 114, payload_length: 640, recv_window_size: 256, timestamp: 3, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r" } [INFO] [stdout] 2026-01-16T03:01:57.831373Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:57.831399Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.831397Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.831412Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.831425Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.831436Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.831447Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.831458Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.831469Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.831479Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.831489Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.831520Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=118 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.831544Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=118 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.831568Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.831578Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.831591Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=118 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.831604Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=118 remote_addr=127.0.0.1:9017 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 18, source_cid: 118 } } [INFO] [stdout] 2026-01-16T03:01:57.831632Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:57.831647Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:57.831695Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 18 } } [INFO] [stdout] 2026-01-16T03:01:57.831721Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.831737Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=18 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 18, source_cid: 118 } } [INFO] [stdout] 2026-01-16T03:01:57.831753Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 18, source_cid: 118 } } [INFO] [stdout] 2026-01-16T03:01:57.831771Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=18 peer_cid=118 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.831811Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.831504Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.829409Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.831984Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.832014Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.832156Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=17 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.832181Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=120 remote_addr=127.0.0.1:9019 [INFO] [stdout] 2026-01-16T03:01:57.832205Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.832051Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.832235Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.832260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=17 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.832344Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.832345Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.832371Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12345 } } [INFO] [stdout] 2026-01-16T03:01:57.832369Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=17 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.832390Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12345 } } [INFO] [stdout] 2026-01-16T03:01:57.832409Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=12345 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.832425Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.832437Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 11, recv_window_size: 1024, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello 0-rtt" } [INFO] [stdout] 2026-01-16T03:01:57.832456Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 11, recv_window_size: 1024, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello 0-rtt" } [INFO] [stdout] 2026-01-16T03:01:57.832474Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=11 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.832470Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=117 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.832499Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in SynReceived state (0-RTT data) cid=2 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.832503Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=117 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.832523Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.832532Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.832535Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.832543Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.832555Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.832556Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=117 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.832574Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.832572Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=117 remote_addr=127.0.0.1:9016 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 17, source_cid: 117 } } [INFO] [stdout] 2026-01-16T03:01:57.832585Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.832603Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:57.832621Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:57.832643Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.832662Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.832685Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.832695Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.832708Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.832699Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 17 } } [INFO] [stdout] 2026-01-16T03:01:57.832722Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 12345, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.832732Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.832750Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.832753Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=17 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 17, source_cid: 117 } } [INFO] [stdout] 2026-01-16T03:01:57.832763Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.832772Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 17, source_cid: 117 } } [INFO] [stdout] 2026-01-16T03:01:57.832791Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=17 peer_cid=117 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.832852Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.832863Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.832885Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.832921Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.832936Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=17 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.832955Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=17 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.832982Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=17 peer_cid=117 [INFO] [stdout] 2026-01-16T03:01:57.833001Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=17 frame=Push { header: ShortHeader { command: Push, connection_id: 17, payload_length: 4, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.833021Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 17, payload_length: 4, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.833040Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=17 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.833057Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=17 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.833081Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 117, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.833126Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:57.833144Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=17 count=1 [INFO] [stdout] 2026-01-16T03:01:57.833169Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:57.833163Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.833197Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.833224Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=2 [INFO] [stdout] 2026-01-16T03:01:57.833242Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.833272Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:57.833289Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.833298Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.833311Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.833323Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.833331Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=5 srtt_ms=5 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.833337Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.833042Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.833349Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.833349Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.833391Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.833401Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.833412Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.833413Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.833424Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.833427Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.833435Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.833446Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.833383Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.833458Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.833769Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.834476Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.834760Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.835065Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.835348Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.835619Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.835908Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.836186Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=17 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 117, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10" } [INFO] [stdout] 2026-01-16T03:01:57.836366Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:57.836447Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.836597Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.836621Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=19 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.836676Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.836726Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.836764Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=19 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.836862Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.836889Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=19 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.836996Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=119 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.837022Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=119 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.837063Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.837075Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.837091Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=119 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.837107Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=119 remote_addr=127.0.0.1:9018 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 19, source_cid: 119 } } [INFO] [stdout] 2026-01-16T03:01:57.837140Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:57.837161Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:57.837230Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 19 } } [INFO] [stdout] 2026-01-16T03:01:57.837274Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.837298Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=19 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 19, source_cid: 119 } } [INFO] [stdout] 2026-01-16T03:01:57.837319Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 19, source_cid: 119 } } [INFO] [stdout] 2026-01-16T03:01:57.837342Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=19 peer_cid=119 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.837397Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.837418Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.837456Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.837470Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=19 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.837488Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=19 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.837507Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=19 peer_cid=119 [INFO] [stdout] 2026-01-16T03:01:57.837527Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=19 frame=Push { header: ShortHeader { command: Push, connection_id: 19, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.837549Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 19, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.837567Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=19 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.837585Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=19 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.837612Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 119, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.837643Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:57.837660Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=19 count=1 [INFO] [stdout] 2026-01-16T03:01:57.837685Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:57.837785Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:57.833379Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.833705Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.837952Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.838264Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.838134Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=16 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 116, payload_length: 640, recv_window_size: 256, timestamp: 2, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f" } [INFO] [stdout] 2026-01-16T03:01:57.838333Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:57.838405Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838434Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.838457Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=120 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.838471Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838492Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.838534Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838561Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.838581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.838296Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.838632Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.838660Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.838663Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838681Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.838699Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=121 remote_addr=127.0.0.1:9020 [INFO] [stdout] 2026-01-16T03:01:57.838771Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838799Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838800Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=20 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.838820Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.838859Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.838884Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.838908Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=20 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.838611Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.838971Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.838897Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.838997Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=20 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.839015Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.839064Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839074Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839091Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.839109Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.839111Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.839134Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=121 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.839207Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.839228Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.839240Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.839245Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.839261Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.839276Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.838954Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.839288Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.839301Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.839320Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.839324Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839336Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.839354Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.839357Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=122 remote_addr=127.0.0.1:9021 [INFO] [stdout] 2026-01-16T03:01:57.839362Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.839375Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839375Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.839398Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.839397Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=21 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.839410Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.839443Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839479Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.839505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=21 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.839583Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.839305Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.839606Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=21 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.839658Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839694Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.839717Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=122 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.839924Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.839631Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.840098Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=15 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 115, payload_length: 640, recv_window_size: 256, timestamp: 7, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e" } [INFO] [stdout] 2026-01-16T03:01:57.840296Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:57.840356Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.840482Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.840508Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=22 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.840547Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.840581Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.840606Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=22 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.840665Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.840686Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=22 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.840720Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.840791Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=122 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.840814Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=122 from="SynReceived" to="Established" [INFO] [stdout] test core::tests::handshake::test_0rtt_handshake_with_client_data ... 2026-01-16T03:01:57.840859Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.840869Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.840882Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=122 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.840896Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=122 remote_addr=127.0.0.1:9021 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 22, source_cid: 122 } } [INFO] [stdout] 2026-01-16T03:01:57.840924Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:57.840941Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:57.840961Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.840998Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 22 } } [INFO] [stdout] 2026-01-16T03:01:57.841024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.841026Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=10 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.841042Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=22 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 22, source_cid: 122 } } [INFO] [stdout] 2026-01-16T03:01:57.841062Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 22, source_cid: 122 } } [INFO] [stdout] 2026-01-16T03:01:57.841061Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.841079Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.841078Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=22 peer_cid=122 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.841095Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=18 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.841121Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.841118Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=18 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.841138Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.841143Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=18 peer_cid=118 [INFO] [stdout] 2026-01-16T03:01:57.841166Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.841165Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=18 frame=Push { header: ShortHeader { command: Push, connection_id: 18, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.841177Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=22 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.841194Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=22 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.841199Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.841211Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=22 peer_cid=122 [INFO] [stdout] 2026-01-16T03:01:57.841226Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.841227Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=22 frame=Push { header: ShortHeader { command: Push, connection_id: 22, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.841246Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 22, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.841257Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.841277Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=22 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.841296Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=22 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.841297Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.841319Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.841335Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 122, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.841369Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:57.841385Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=22 count=1 [INFO] [stdout] 2026-01-16T03:01:57.841403Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.841411Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:57.841429Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.841448Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.841471Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.841480Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.841496Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.841509Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:57.841537Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.841538Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.841556Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.841564Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.841581Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.841592Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.841604Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.841615Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.841626Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.841619Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 1024, timestamp: 100, sequence_number: 0, recv_next_sequence: 0 }, payload: b"final data" } [INFO] [stdout] 2026-01-16T03:01:57.841638Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.841644Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 1024, timestamp: 100, sequence_number: 0, recv_next_sequence: 0 }, payload: b"final data" } [INFO] [stdout] 2026-01-16T03:01:57.841649Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.841661Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.841679Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.841701Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.841728Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 1024, timestamp: 101, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.841744Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 1024, timestamp: 101, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.841768Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.841785Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Established state cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.841806Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.841858Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.841853Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=12 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.841875Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.841894Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Established target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.841911Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.841934Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:57.841665Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.841947Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.841992Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=120 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.842018Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=120 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.842041Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.842036Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 1024, timestamp: 100, sequence_number: 0, recv_next_sequence: 0 }, payload: b"final data" } [INFO] [stdout] 2026-01-16T03:01:57.842052Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.842077Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=120 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.842074Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 1024, timestamp: 100, sequence_number: 0, recv_next_sequence: 0 }, payload: b"final data" } [INFO] [stdout] 2026-01-16T03:01:57.842092Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=120 remote_addr=127.0.0.1:9019 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 20, source_cid: 120 } } [INFO] [stdout] 2026-01-16T03:01:57.842096Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=10 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.842118Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in FinWait state cid=2 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.842121Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:57.842137Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.842141Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:57.842152Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.839956Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=123 remote_addr=127.0.0.1:9022 [INFO] [stdout] 2026-01-16T03:01:57.841974Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.842235Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=121 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.841191Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 18, payload_length: 4, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.842265Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=121 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.842271Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=18 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.842288Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.842299Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.842295Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=18 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.842312Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=121 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.842326Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=121 remote_addr=127.0.0.1:9020 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 21, source_cid: 121 } } [INFO] [stdout] 2026-01-16T03:01:57.842331Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 118, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.842355Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:57.842368Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:57.842372Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:57.842383Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=18 count=1 [INFO] [stdout] 2026-01-16T03:01:57.842406Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:57.842432Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=10 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.842500Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:57.842531Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.842271Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.842552Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.842565Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.842575Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.842587Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.842598Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.842608Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.842619Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.842629Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.842665Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.842694Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=123 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.842780Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 20 } } [INFO] [stdout] 2026-01-16T03:01:57.842820Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.842864Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.842888Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.839953Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.842951Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.842970Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.842982Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.843069Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.843086Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.843098Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.843166Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.843180Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.842643Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.843196Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.843236Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.843513Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.843540Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.843818Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.843801Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.844124Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.844173Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.844405Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.844455Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.844694Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.844732Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.844994Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 1200, recv_window_size: 256, timestamp: 11, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.842920Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.845432Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=124 remote_addr=127.0.0.1:9023 [INFO] [stdout] 2026-01-16T03:01:57.842987Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.846062Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.846310Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.846332Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.846439Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.846538Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.846565Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.846589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.845030Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.842814Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.846935Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=20 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 20, source_cid: 120 } } [INFO] [stdout] 2026-01-16T03:01:57.846964Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 20, source_cid: 120 } } [INFO] [stdout] 2026-01-16T03:01:57.846985Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=20 peer_cid=120 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.846708Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.847049Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.847074Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.847112Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.845364Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=18 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 118, payload_length: 640, recv_window_size: 256, timestamp: 11, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11" } [INFO] [stdout] 2026-01-16T03:01:57.847127Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=20 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.847148Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=20 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.847167Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=20 peer_cid=120 [INFO] [stdout] 2026-01-16T03:01:57.847187Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=20 frame=Push { header: ShortHeader { command: Push, connection_id: 20, payload_length: 4, recv_window_size: 256, timestamp: 9, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.847210Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 20, payload_length: 4, recv_window_size: 256, timestamp: 9, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.847254Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=20 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.847289Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=20 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.847341Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 120, payload_length: 8, recv_window_size: 255, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.847444Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=20 [INFO] [stdout] 2026-01-16T03:01:57.847473Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:57.847502Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=20 count=1 [INFO] [stdout] 2026-01-16T03:01:57.847548Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Established [INFO] [stdout] 2026-01-16T03:01:57.847666Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.847795Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.847820Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.847865Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=23 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.847918Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.847963Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.847976Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.847998Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=23 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.848019Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=124 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.848069Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.848093Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=23 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.848102Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 21 } } [INFO] [stdout] 2026-01-16T03:01:57.848140Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.848145Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=20 [INFO] [stdout] 2026-01-16T03:01:57.848163Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=21 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 21, source_cid: 121 } } [INFO] [stdout] 2026-01-16T03:01:57.848180Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.848184Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 21, source_cid: 121 } } [INFO] [stdout] 2026-01-16T03:01:57.848196Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.848210Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.848206Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=21 peer_cid=121 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.848222Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.848234Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.848247Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.848258Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.848270Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.848263Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.848281Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.848298Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.848297Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.849039Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.849223Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=125 remote_addr=127.0.0.1:9024 [INFO] [stdout] 2026-01-16T03:01:57.849362Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.849379Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=21 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.849400Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=21 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.849422Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=21 peer_cid=121 [INFO] [stdout] 2026-01-16T03:01:57.849441Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=21 frame=Push { header: ShortHeader { command: Push, connection_id: 21, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.849463Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 21, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.849485Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=21 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.849503Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=21 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.849528Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 121, payload_length: 8, recv_window_size: 255, timestamp: 10, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.849561Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:57.849577Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=21 count=1 [INFO] [stdout] 2026-01-16T03:01:57.849603Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:57.849704Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:57.849730Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.849757Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.849771Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.849784Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.849796Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.849807Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.849820Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.849850Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.849862Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.849876Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.850165Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.850459Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.850747Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.851051Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] test core::endpoint::timing::tests::test_check_idle_timeout ... ok [INFO] [stdout] 2026-01-16T03:01:57.848597Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.851340Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.851635Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] test core::endpoint::timing::tests::test_connection_timeout_deadline_after_activity ... ok [INFO] [stdout] 2026-01-16T03:01:57.851854Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.851883Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.851911Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.842557Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.851591Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.851929Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.847017Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=19 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 119, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12" } [INFO] [stdout] 2026-01-16T03:01:57.852031Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.852039Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:57.852059Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.852127Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.852131Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.852153Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.852241Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.851989Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.851991Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.852274Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.852279Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=24 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.852297Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.852317Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.852348Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.852352Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.852370Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=24 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.852378Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.852400Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.852426Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.852446Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.852448Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.852473Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=24 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.852274Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.852295Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.852561Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.852584Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.852580Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=124 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.852602Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.852607Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=124 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.852619Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.852634Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.852635Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.852647Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.852647Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.852661Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.852662Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=124 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.852678Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.852676Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=124 remote_addr=127.0.0.1:9023 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 24, source_cid: 124 } } [INFO] [stdout] 2026-01-16T03:01:57.852696Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.852708Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:57.852716Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.852725Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.852726Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:57.852742Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.852755Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.852780Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.852793Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.852788Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 24 } } [INFO] [stdout] 2026-01-16T03:01:57.852564Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.852843Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.852858Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.852585Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.852860Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.853151Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.852901Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.853180Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=24 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 24, source_cid: 124 } } [INFO] [stdout] 2026-01-16T03:01:57.853200Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 24, source_cid: 124 } } [INFO] [stdout] 2026-01-16T03:01:57.853217Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=24 peer_cid=124 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.853273Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.853292Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.853324Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.853335Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=24 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.853191Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=22 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 122, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15" } [INFO] [stdout] 2026-01-16T03:01:57.853351Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=24 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.853367Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=24 peer_cid=124 [INFO] [stdout] 2026-01-16T03:01:57.853373Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:57.853384Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=24 frame=Push { header: ShortHeader { command: Push, connection_id: 24, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.853147Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.853404Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 24, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.853423Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=24 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.853438Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.853440Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=24 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.853470Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.853465Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 124, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.853496Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:57.853495Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=125 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.853510Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=24 count=1 [INFO] [stdout] 2026-01-16T03:01:57.853532Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:57.853618Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:57.853621Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=123 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.853641Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.853427Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=20 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 120, payload_length: 640, recv_window_size: 256, timestamp: 9, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13\x13" } [INFO] [stdout] 2026-01-16T03:01:57.853654Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.853652Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=123 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.853666Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.853677Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.853677Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.853691Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.853701Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.853705Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=123 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.853711Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.853721Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.853719Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=123 remote_addr=127.0.0.1:9022 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 23, source_cid: 123 } } [INFO] [stdout] 2026-01-16T03:01:57.853732Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.853744Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.853750Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:57.853769Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:57.853874Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 23 } } [INFO] [stdout] 2026-01-16T03:01:57.853912Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.853934Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=23 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 23, source_cid: 123 } } [INFO] [stdout] 2026-01-16T03:01:57.853952Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 23, source_cid: 123 } } [INFO] [stdout] 2026-01-16T03:01:57.853971Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=23 peer_cid=123 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.854021Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.854048Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.854068Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.854066Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.854082Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.854091Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.854092Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=23 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.854104Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=126 remote_addr=127.0.0.1:9025 [INFO] [stdout] 2026-01-16T03:01:57.854106Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.854109Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=23 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.854126Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=23 peer_cid=123 [INFO] [stdout] 2026-01-16T03:01:57.854146Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.854143Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=23 frame=Push { header: ShortHeader { command: Push, connection_id: 23, payload_length: 4, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.854161Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.854163Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 23, payload_length: 4, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.854181Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=23 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.854192Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.854199Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=23 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.854202Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.854218Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.854224Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 123, payload_length: 8, recv_window_size: 255, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.854237Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.854252Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:57.854251Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.854274Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=23 count=1 [INFO] [stdout] 2026-01-16T03:01:57.854279Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.854297Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:57.854296Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.854315Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.854335Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.854354Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.854392Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:57.854383Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.854413Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.854416Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.854428Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=1 [INFO] [stdout] 2026-01-16T03:01:57.854435Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.854448Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.854451Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.854459Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.854470Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.854482Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.854494Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.854507Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.854520Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.854535Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.853672Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Established [INFO] [stdout] 2026-01-16T03:01:57.854906Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.855004Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855043Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.855049Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855081Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=25 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.855089Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855124Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855133Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.855160Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.855164Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.855190Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=25 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.855248Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.855265Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.855294Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.855296Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=25 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.855342Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855374Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.855372Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.855407Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.855410Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=126 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.855435Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Closed [INFO] [stdout] 2026-01-16T03:01:57.855454Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Closed" [INFO] [stdout] 2026-01-16T03:01:57.855482Z DEBUG kestrel_protocol::core::reliability::retransmission: Cleared all in-flight packets from both SACK and simple retransmission managers. [INFO] [stdout] 2026-01-16T03:01:57.855499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.855513Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.855526Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=125 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.855553Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=125 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.855578Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.855910Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.855951Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=127 remote_addr=127.0.0.1:9026 [INFO] [stdout] 2026-01-16T03:01:57.855866Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.856163Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.856654Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.856693Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.856711Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.856726Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.856470Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.856748Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.856780Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.853756Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.856799Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] test core::tests::shutdown::test_shutdown_when_connecting ... ok [INFO] [stdout] 2026-01-16T03:01:57.856857Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.856877Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=2 [INFO] [stdout] 2026-01-16T03:01:57.856892Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.856930Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.856948Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.856968Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=4 srtt_ms=4 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.856986Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.855588Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.856996Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.857013Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.857010Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=125 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.857024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.856760Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.857027Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=125 remote_addr=127.0.0.1:9024 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 25, source_cid: 125 } } [INFO] [stdout] 2026-01-16T03:01:57.857048Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.857061Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:57.857080Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:57.856863Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.857123Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.857144Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.857163Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.857176Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.857193Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 5, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.857218Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.857232Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.857251Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.857052Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.857396Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.857136Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.857429Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=26 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.857479Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.857515Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.857544Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=26 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.857348Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.857619Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.857646Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=26 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.857432Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.857694Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 25 } } [INFO] [stdout] 2026-01-16T03:01:57.857625Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.858903Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.858398Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.851634Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.858937Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=25 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 25, source_cid: 125 } } [INFO] [stdout] 2026-01-16T03:01:57.858961Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 25, source_cid: 125 } } [INFO] [stdout] 2026-01-16T03:01:57.858982Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=25 peer_cid=125 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.859033Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.859094Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.859121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=127 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.858960Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=23 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 123, payload_length: 640, recv_window_size: 256, timestamp: 6, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16" } [INFO] [stdout] 2026-01-16T03:01:57.859175Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:57.858960Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 1200, recv_window_size: 256, timestamp: 10, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.859305Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=16 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.859365Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=11 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.859270Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=21 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 121, payload_length: 640, recv_window_size: 256, timestamp: 10, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14" } [INFO] [stdout] 2026-01-16T03:01:57.859431Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.859427Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=10 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.859443Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:57.859451Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.859493Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.859507Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=25 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.859530Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=25 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.859528Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.859551Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=25 peer_cid=125 [INFO] [stdout] 2026-01-16T03:01:57.859555Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.859570Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=25 frame=Push { header: ShortHeader { command: Push, connection_id: 25, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.859581Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.859591Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 25, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.859598Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.859628Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.859647Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.859667Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=5 srtt_ms=5 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.859685Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.859701Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.859719Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.859743Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.859781Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 5, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.859799Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 5, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.859817Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.859853Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Established state cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.859879Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.859912Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.859927Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Established target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.859943Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.859960Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:57.859976Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.860086Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=2 current_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.860105Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="FinWait" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.860123Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.860137Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.860155Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.860184Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.860198Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.860228Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.860250Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.860270Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=1 recv_window=255 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.860288Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.860302Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.860332Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=1 [INFO] [stdout] 2026-01-16T03:01:57.860345Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=0 simple_acked_count=1 rtt_samples_count=0 [INFO] [stdout] 2026-01-16T03:01:57.860366Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.860381Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.860395Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.860801Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.861153Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.861447Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.861734Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.862034Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=24 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 124, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17" } [INFO] [stdout] 2026-01-16T03:01:57.862209Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:57.859609Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=25 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.862358Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=25 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.862388Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 125, payload_length: 8, recv_window_size: 255, timestamp: 7, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.862432Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:57.862450Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=25 count=1 [INFO] [stdout] 2026-01-16T03:01:57.862490Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:57.862593Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:57.862618Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.862633Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.862647Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.862659Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.862670Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.862682Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.862693Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.862704Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.862716Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.862966Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.863014Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.863006Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.863025Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=126 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.863076Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=126 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.863139Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.863171Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.863187Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=126 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.863204Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=126 remote_addr=127.0.0.1:9025 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 26, source_cid: 126 } } [INFO] [stdout] 2026-01-16T03:01:57.863212Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.863227Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:57.863241Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.863249Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863273Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:57.863291Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.863291Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863292Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.863306Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863340Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.863361Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.863371Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.863377Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 26 } } [INFO] [stdout] 2026-01-16T03:01:57.863393Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863443Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.863453Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.863131Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.863468Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=26 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 26, source_cid: 126 } } [INFO] [stdout] 2026-01-16T03:01:57.863468Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.863475Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.863477Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.863485Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 26, source_cid: 126 } } [INFO] [stdout] 2026-01-16T03:01:57.863494Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.863493Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.863498Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=1 seq=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.863521Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863503Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello server!" } [INFO] [stdout] 2026-01-16T03:01:57.863527Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=1 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.863531Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=26 peer_cid=126 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.863549Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863562Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.863551Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.863585Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Closing target_state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.863590Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.863589Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.863603Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Closing" to="ClosingWait" [INFO] [stdout] 2026-01-16T03:01:57.863607Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.863621Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.863607Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.863636Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=1 [INFO] [stdout] 2026-01-16T03:01:57.863639Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.863651Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.863656Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.863656Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.863662Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.863676Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.863686Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.863681Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=5 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 0, recv_next_sequence: 0 }, payload: b"c-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.863691Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=26 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.863689Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.863722Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863728Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=26 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.863739Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.863748Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=26 peer_cid=126 [INFO] [stdout] 2026-01-16T03:01:57.863746Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.863756Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.863764Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=26 frame=Push { header: ShortHeader { command: Push, connection_id: 26, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.863772Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=2 seq=2 [INFO] [stdout] 2026-01-16T03:01:57.863779Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.863786Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.863783Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 26, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.863804Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.863809Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.863804Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=26 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.863840Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=26 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.863881Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 126, payload_length: 8, recv_window_size: 255, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.863922Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:57.863942Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=26 count=1 [INFO] [stdout] 2026-01-16T03:01:57.863967Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:57.864051Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:57.864111Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.864159Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.864205Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.864238Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.862731Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.864404Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.864626Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:57.864897Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:57.864905Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.864923Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 0, recv_next_sequence: 0 }, payload: b"c-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.864903Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.864956Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 0, recv_next_sequence: 0 }, payload: b"c-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.865134Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.865171Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.865202Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=1 recv_window=255 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.865229Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=2 [INFO] [stdout] 2026-01-16T03:01:57.865253Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.865161Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.864685Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.865348Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.865420Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.865324Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.865453Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.865459Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.865492Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=128 remote_addr=127.0.0.1:9027 [INFO] [stdout] 2026-01-16T03:01:57.865504Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 1, recv_next_sequence: 0 }, payload: b"c-packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.865527Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 1, recv_next_sequence: 0 }, payload: b"c-packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.865547Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=1 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.865555Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.865564Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=1 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.865583Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=27 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.865586Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.865619Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.865617Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 2, recv_next_sequence: 0 }, payload: b"c-packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.865638Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 2, recv_next_sequence: 0 }, payload: b"c-packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.865655Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.865659Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=2 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.865675Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=2 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.865679Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=27 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.865696Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 253, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.865729Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 3, recv_next_sequence: 0 }, payload: b"c-packet-3" } [INFO] [stdout] 2026-01-16T03:01:57.865739Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.865751Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 3, recv_next_sequence: 0 }, payload: b"c-packet-3" } [INFO] [stdout] 2026-01-16T03:01:57.865758Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=27 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.865769Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=3 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.865785Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=3 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.865800Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.865808Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 252, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:57.865843Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.865867Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 4, recv_next_sequence: 0 }, payload: b"c-packet-4" } [INFO] [stdout] 2026-01-16T03:01:57.865877Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=128 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.865889Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 10, recv_window_size: 256, timestamp: 51, sequence_number: 4, recv_next_sequence: 0 }, payload: b"c-packet-4" } [INFO] [stdout] 2026-01-16T03:01:57.865907Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=4 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.865994Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=127 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.866029Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=127 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.866060Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.866077Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.866092Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=127 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.866115Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=127 remote_addr=127.0.0.1:9026 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 27, source_cid: 127 } } [INFO] [stdout] 2026-01-16T03:01:57.866154Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] 2026-01-16T03:01:57.866177Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] 2026-01-16T03:01:57.866238Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 27 } } [INFO] [stdout] 2026-01-16T03:01:57.866278Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.866299Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=27 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 27, source_cid: 127 } } [INFO] [stdout] 2026-01-16T03:01:57.866324Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 27, source_cid: 127 } } [INFO] [stdout] 2026-01-16T03:01:57.866342Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=27 peer_cid=127 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.866390Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.866416Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.866458Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.866477Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=27 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.866496Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=27 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.866522Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=27 peer_cid=127 [INFO] [stdout] 2026-01-16T03:01:57.866545Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=27 frame=Push { header: ShortHeader { command: Push, connection_id: 27, payload_length: 4, recv_window_size: 256, timestamp: 10, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.866572Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 27, payload_length: 4, recv_window_size: 256, timestamp: 10, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.866591Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=27 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.866614Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=27 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.866637Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 127, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.866673Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:57.866694Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=27 count=1 [INFO] [stdout] 2026-01-16T03:01:57.866718Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:57.866818Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:57.866866Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.866878Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.866891Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.866902Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.866916Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.866927Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.866944Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.866955Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.866972Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.867172Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.867218Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=129 remote_addr=127.0.0.1:9028 [INFO] [stdout] 2026-01-16T03:01:57.866987Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.867263Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.867568Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.867908Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello server!" } [INFO] [stdout] 2026-01-16T03:01:57.867951Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello server!" } [INFO] [stdout] 2026-01-16T03:01:57.867973Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.867992Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=13 [INFO] [stdout] 2026-01-16T03:01:57.868024Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 58, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.868064Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.868078Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.867838Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.868102Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.868178Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.868205Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.868223Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 13, recv_window_size: 256, timestamp: 58, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello client!" } [INFO] [stdout] 2026-01-16T03:01:57.868260Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.868112Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.865926Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=4 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.868400Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.868671Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.868461Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 251, timestamp: 55, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:57.868750Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.865292Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=1 [INFO] [stdout] 2026-01-16T03:01:57.865055Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=103 [INFO] [stdout] 2026-01-16T03:01:57.865011Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.872929Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.872961Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.872983Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.873095Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.868865Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.873229Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.873003Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.873278Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.873299Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.873320Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.873345Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.873385Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.873419Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.873445Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.873462Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.873481Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.873516Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.873534Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.873306Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.873582Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.873598Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.873685Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.873718Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.873743Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.873604Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.873904Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.874186Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.874467Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.874764Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.875053Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.875098Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.875168Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.875193Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.875219Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.875254Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.875286Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.875323Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.875070Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.875341Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.875363Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.875472Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.875502Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.875355Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=26 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 126, payload_length: 640, recv_window_size: 256, timestamp: 6, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19" } [INFO] [stdout] 2026-01-16T03:01:57.875534Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.875542Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:57.875557Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=5 [INFO] [stdout] 2026-01-16T03:01:57.875595Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.875641Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.875637Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=128 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.875658Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.875690Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.875799Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.868686Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] test core::endpoint::timing::tests::test_timeout_checks ... 2026-01-16T03:01:57.875855Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.871942Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 58, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.872878Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=5 [INFO] [stdout] 2026-01-16T03:01:57.868892Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.875880Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.876171Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=27 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 127, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a\x1a" } [INFO] [stdout] 2026-01-16T03:01:57.876345Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:57.876012Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.869996Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.876737Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.876772Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.876814Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.876804Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.876866Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.876891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.876904Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.876476Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.876995Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.877018Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.877042Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.877077Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.877133Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.877143Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.877164Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.877186Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.877212Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.877229Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.877238Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.876981Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.877263Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.877290Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.877310Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.877351Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877379Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 0, destination_cid: 2, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.877412Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 0, destination_cid: 2, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.877421Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877433Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877444Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.877449Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.877466Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.877462Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.877479Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877481Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877496Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.877519Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.877531Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.877282Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.877560Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.877579Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.877596Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.877620Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.877633Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.877649Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=2 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 36, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"important data that must not be lost" } [INFO] [stdout] 2026-01-16T03:01:57.877679Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.877694Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.877787Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:57.877569Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.878039Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:57.878057Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878085Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3 [INFO] [stdout] 2026-01-16T03:01:57.878098Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878123Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=104 [INFO] [stdout] 2026-01-16T03:01:57.878134Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=104 state=Established [INFO] [stdout] 2026-01-16T03:01:57.877877Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.878275Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=105 [INFO] [stdout] 2026-01-16T03:01:57.878294Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=105 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878321Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=5 [INFO] [stdout] 2026-01-16T03:01:57.878170Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=25 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 125, payload_length: 640, recv_window_size: 256, timestamp: 7, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18" } [INFO] [stdout] 2026-01-16T03:01:57.878334Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878347Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878381Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=12 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.878408Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=13 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.878443Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=107 [INFO] [stdout] 2026-01-16T03:01:57.878450Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:57.878460Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878464Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878491Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:57.878491Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:57.878505Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878516Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878556Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=108 [INFO] [stdout] 2026-01-16T03:01:57.878572Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878637Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=112 [INFO] [stdout] 2026-01-16T03:01:57.878660Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878678Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=0 simple_acked_count=1 rtt_samples_count=0 [INFO] [stdout] 2026-01-16T03:01:57.878695Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:57.878710Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878714Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.878731Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.878741Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=6 [INFO] [stdout] 2026-01-16T03:01:57.878748Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.878758Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878766Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 26, sequence_number: 2, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.878787Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=109 [INFO] [stdout] 2026-01-16T03:01:57.878799Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.878802Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:57.878909Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 26, sequence_number: 2, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.878941Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 26, sequence_number: 2, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.878965Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=1 seq=2 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.878996Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring FIN frame in unexpected state cid=1 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.879011Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.879024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.875914Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 58, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.879150Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.879177Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.879197Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.879235Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.879254Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.879274Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=12 srtt_ms=12 rttvar_ms=6 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.879292Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.879303Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.879324Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 13, recv_window_size: 256, timestamp: 58, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello client!" } [INFO] [stdout] 2026-01-16T03:01:57.879349Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 13, recv_window_size: 256, timestamp: 58, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello client!" } [INFO] [stdout] 2026-01-16T03:01:57.879368Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.879387Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=13 [INFO] [stdout] 2026-01-16T03:01:57.879412Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 69, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.879450Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.879467Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=1 [INFO] [stdout] 2026-01-16T03:01:57.879493Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.879611Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.879671Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] test core::tests::lifecycle::test_connect_and_send_data ... ok [INFO] [stdout] 2026-01-16T03:01:57.875804Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.876418Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.870127Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.880156Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=28 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.880170Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.880207Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880234Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.880259Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=28 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.880332Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880351Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.880349Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 36, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"important data that must not be lost" } [INFO] [stdout] 2026-01-16T03:01:57.880363Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880383Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880379Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 36, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"important data that must not be lost" } [INFO] [stdout] 2026-01-16T03:01:57.880396Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.880402Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=36 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.880415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.880422Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in SynReceived state (0-RTT data) cid=2 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.880434Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880436Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.880441Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.880459Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.880466Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.880477Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.880492Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.880498Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in SynReceived state (0-RTT close) cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.880507Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.880539Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.880538Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.880571Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.880584Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.880590Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.880610Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.880609Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.880625Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.880632Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880649Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:57.880650Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.880663Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.880695Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.880722Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.880744Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880752Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880767Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.880778Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.875904Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.880787Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.880849Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.880858Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.880882Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 12, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.880891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.880919Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.880923Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.880943Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.880940Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.880951Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.880964Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.880974Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.880982Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.880999Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.881014Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881027Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881039Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.881033Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.881056Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.881065Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881064Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.881072Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.881085Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.881092Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.881086Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.881100Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.881102Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.881098Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.881108Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881116Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.881124Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.881112Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.881142Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881144Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.881156Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881153Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=3 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 0, recv_next_sequence: 5 }, payload: b"s-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.881163Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.881179Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881184Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881192Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881191Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881196Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.881125Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.881205Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.881226Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.881233Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.881245Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.881255Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.881278Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.881273Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=5 srtt_ms=5 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.881288Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.881293Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.881304Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.881305Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.881322Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881320Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.881339Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.881352Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881367Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.881374Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 12, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.881394Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 12, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.881391Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 11, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 0 }, payload: b"server-next" } [INFO] [stdout] 2026-01-16T03:01:57.881413Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881420Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881430Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Established state cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.881437Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.881452Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 17, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.881463Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.881484Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881486Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881498Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Established target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.881509Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881525Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.881527Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.881542Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881559Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.881560Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.881578Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.881599Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=17 srtt_ms=17 rttvar_ms=8 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.881618Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.881631Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.881642Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.881651Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.881672Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 52, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.881688Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881692Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=254 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.881710Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881727Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=254 [INFO] [stdout] 2026-01-16T03:01:57.881752Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:57.881767Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.881784Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=18 srtt_ms=17 rttvar_ms=6 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.881801Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.881998Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.882021Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.882156Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.882234Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] test core::tests::shutdown::test_shutdown_when_established ... ok [INFO] [stdout] 2026-01-16T03:01:57.882398Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] test core::tests::shutdown::test_data_is_fully_read_before_shutdown_eof ... ok [INFO] [stdout] 2026-01-16T03:01:57.882423Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.882440Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.882485Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.882501Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.882538Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.882548Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.882564Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.882585Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.882600Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.882596Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.882626Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.882640Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.882641Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.882655Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.882669Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.882685Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.882726Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.882744Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.882759Z TRACE mio::poll: registering event source with poller: token=Token(123778944269184), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.882774Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.882787Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.882785Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.882805Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.882819Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.882858Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 11, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"server-0rtt" } [INFO] [stdout] 2026-01-16T03:01:57.882866Z TRACE mio::poll: registering event source with poller: token=Token(123778944272384), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.873178Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.882978Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.883008Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.883023Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.883035Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.883045Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.883056Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.883071Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=5 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.883109Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883127Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.883155Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.883168Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.883197Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.883212Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:46812) [INFO] [stdout] 2026-01-16T03:01:57.883227Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.883250Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883272Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=8 [INFO] [stdout] 2026-01-16T03:01:57.883293Z TRACE mio::poll: registering event source with poller: token=Token(123778944246272), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.883299Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.883334Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 1, recv_next_sequence: 0 }, payload: b"packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.883340Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 11, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"server-0rtt" } [INFO] [stdout] 2026-01-16T03:01:57.883353Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 1, recv_next_sequence: 0 }, payload: b"packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.883369Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=1 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883370Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=11 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883385Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=1 payload_len=8 [INFO] [stdout] 2026-01-16T03:01:57.883389Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=11 [INFO] [stdout] 2026-01-16T03:01:57.883408Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.883415Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.883435Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 2, recv_next_sequence: 0 }, payload: b"packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.883451Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 11, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 0 }, payload: b"server-next" } [INFO] [stdout] 2026-01-16T03:01:57.883456Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 2, recv_next_sequence: 0 }, payload: b"packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.883471Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 11, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 0 }, payload: b"server-next" } [INFO] [stdout] 2026-01-16T03:01:57.883473Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=2 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883488Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=1 payload_len=11 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883489Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=2 payload_len=8 [INFO] [stdout] 2026-01-16T03:01:57.883503Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=1 payload_len=11 [INFO] [stdout] 2026-01-16T03:01:57.883516Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.883533Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.883524Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 254, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.883522Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 253, timestamp: 62, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.883543Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.883549Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.883554Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 3, recv_next_sequence: 0 }, payload: b"packet-3" } [INFO] [stdout] 2026-01-16T03:01:57.883557Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:45201) [INFO] [stdout] 2026-01-16T03:01:57.883566Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=2 [INFO] [stdout] 2026-01-16T03:01:57.883572Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 3, recv_next_sequence: 0 }, payload: b"packet-3" } [INFO] [stdout] 2026-01-16T03:01:57.883590Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883588Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=3 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883595Z  INFO kestrel_protocol::core::tests::state: [Client] Connecting A... [INFO] [stdout] 2026-01-16T03:01:57.883604Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=3 payload_len=8 [INFO] [stdout] 2026-01-16T03:01:57.883623Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 252, timestamp: 63, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:57.883635Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.883650Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 4, recv_next_sequence: 0 }, payload: b"packet-4" } [INFO] [stdout] 2026-01-16T03:01:57.883662Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.883667Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.883670Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 8, recv_window_size: 256, timestamp: 62, sequence_number: 4, recv_next_sequence: 0 }, payload: b"packet-4" } [INFO] [stdout] 2026-01-16T03:01:57.883686Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=4 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883703Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=4 payload_len=8 [INFO] [stdout] 2026-01-16T03:01:57.883714Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.883722Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 251, timestamp: 63, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:57.883748Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.883763Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=5 [INFO] [stdout] 2026-01-16T03:01:57.883787Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.883788Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.883811Z  INFO kestrel_protocol::core::tests::state: [Server] Waiting for conn A [INFO] [stdout] 2026-01-16T03:01:57.883938Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.883970Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.884028Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.884125Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.884153Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1 remote_addr=127.0.0.1:5678 [INFO] [stdout] 2026-01-16T03:01:57.884189Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.884221Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.884259Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.884323Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.884363Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.884362Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.884392Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.884531Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.884564Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2 remote_addr=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.884628Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.884669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.884709Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.884756Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.884789Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.884864Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.884909Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 5, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello" } [INFO] [stdout] 2026-01-16T03:01:57.884940Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.884957Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=5 [INFO] [stdout] 2026-01-16T03:01:57.884981Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.885022Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.885042Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.885069Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.885164Z  INFO kestrel_protocol::core::endpoint::core::handlers: Actively migrating to new address. cid=1 new_addr=127.0.0.1:9999 [INFO] [stdout] 2026-01-16T03:01:57.885247Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Starting path validation cid=1 new_addr=127.0.0.1:9999 challenge_data=13420004499304461632 [INFO] [stdout] 2026-01-16T03:01:57.885279Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Established target_state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.885307Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Established" to="ValidatingPath" [INFO] [stdout] 2026-01-16T03:01:57.885340Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.885367Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.886578Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.886624Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.886649Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: None } [INFO] [stdout] 2026-01-16T03:01:57.886688Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK during path validation cid=1 [INFO] [stdout] 2026-01-16T03:01:57.886705Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.886749Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.886770Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.886803Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=4 srtt_ms=4 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.886845Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.886859Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.886877Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.881813Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.886891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.886911Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 253, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.886932Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=PathChallenge { header: ShortHeader { command: PathChallenge, connection_id: 2, payload_length: 8, recv_window_size: 0, timestamp: 4, sequence_number: 1, recv_next_sequence: 0 }, challenge_data: 13420004499304461632 } [INFO] [stdout] 2026-01-16T03:01:57.886946Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 253, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.886969Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=253 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.886952Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PathProcessor" frame_type=PathChallenge { header: ShortHeader { command: PathChallenge, connection_id: 2, payload_length: 8, recv_window_size: 0, timestamp: 4, sequence_number: 1, recv_next_sequence: 0 }, challenge_data: 13420004499304461632 } [INFO] [stdout] 2026-01-16T03:01:57.886991Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.887002Z DEBUG kestrel_protocol::core::endpoint::processing::processors::path: Processing PathChallenge frame cid=2 seq=1 challenge_data=13420004499304461632 src_addr=127.0.0.1:1234 state=Established [INFO] [stdout] 2026-01-16T03:01:57.887006Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=253 [INFO] [stdout] 2026-01-16T03:01:57.887027Z TRACE kestrel_protocol::core::endpoint::processing::processors::path: Sending PathResponse cid=2 challenge_data=13420004499304461632 response_to=127.0.0.1:1234 [INFO] [stdout] 2026-01-16T03:01:57.887040Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=2 [INFO] [stdout] 2026-01-16T03:01:57.887059Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.887068Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.887078Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=23 srtt_ms=18 rttvar_ms=6 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.887085Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.887094Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=35 [INFO] [stdout] 2026-01-16T03:01:57.887103Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=34 new_cwnd=35 [INFO] [stdout] 2026-01-16T03:01:57.887121Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 252, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:57.887143Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 252, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:57.887161Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=252 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.887185Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.887198Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=252 [INFO] [stdout] 2026-01-16T03:01:57.887222Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=3 [INFO] [stdout] 2026-01-16T03:01:57.887236Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.887252Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=23 srtt_ms=19 rttvar_ms=6 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.887289Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=36 [INFO] [stdout] 2026-01-16T03:01:57.887300Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=35 new_cwnd=36 [INFO] [stdout] 2026-01-16T03:01:57.887319Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 251, timestamp: 55, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:57.887342Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 251, timestamp: 55, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:57.887360Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=251 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.887378Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.887391Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=251 [INFO] [stdout] 2026-01-16T03:01:57.887414Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=4 [INFO] [stdout] 2026-01-16T03:01:57.887440Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.887466Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=23 srtt_ms=19 rttvar_ms=5 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.887490Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=37 [INFO] [stdout] 2026-01-16T03:01:57.887512Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=36 new_cwnd=37 [INFO] [stdout] 2026-01-16T03:01:57.887531Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.887559Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.887647Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 0, recv_next_sequence: 5 }, payload: b"s-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.887687Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 0, recv_next_sequence: 5 }, payload: b"s-packet-0" } [INFO] [stdout] 2026-01-16T03:01:57.887747Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=10 state=Established [INFO] [stdout] test core::tests::reliability::test_server_0rtt_sends_data_correctly ... 2026-01-16T03:01:57.888235Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=11 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.890988Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:57.891023Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:57.891073Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=10 [INFO] [stdout] 2026-01-16T03:01:57.891097Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.891203Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.891367Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=28 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.891411Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=15 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.891514Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=128 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.891544Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=128 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.891575Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.891586Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.891601Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=128 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.891617Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=128 remote_addr=127.0.0.1:9027 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 28, source_cid: 128 } } [INFO] [stdout] 2026-01-16T03:01:57.891647Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=128 [INFO] [stdout] 2026-01-16T03:01:57.891663Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=128 state=Established [INFO] [stdout] 2026-01-16T03:01:57.891736Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 28 } } [INFO] [stdout] 2026-01-16T03:01:57.891788Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.891809Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=28 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 28, source_cid: 128 } } [INFO] [stdout] 2026-01-16T03:01:57.891845Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 28, source_cid: 128 } } [INFO] [stdout] 2026-01-16T03:01:57.891866Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=28 peer_cid=128 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.891916Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.891934Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.891988Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.892000Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=28 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.892018Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=28 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.892036Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=28 peer_cid=128 [INFO] [stdout] 2026-01-16T03:01:57.892053Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=28 frame=Push { header: ShortHeader { command: Push, connection_id: 28, payload_length: 4, recv_window_size: 256, timestamp: 26, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.892074Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 28, payload_length: 4, recv_window_size: 256, timestamp: 26, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.892090Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=28 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.892106Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=28 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.892132Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 128, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.892159Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=28 [INFO] [stdout] 2026-01-16T03:01:57.892173Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=28 count=1 [INFO] [stdout] 2026-01-16T03:01:57.892202Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Established [INFO] [stdout] 2026-01-16T03:01:57.892297Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=28 [INFO] [stdout] 2026-01-16T03:01:57.892321Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.892342Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.892356Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.892368Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.892378Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.892389Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.892399Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.892409Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.892418Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.892431Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.892676Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.892970Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.893246Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.893540Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.893791Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.894054Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.894317Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 1200, recv_window_size: 256, timestamp: 12, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.894598Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=28 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 128, payload_length: 640, recv_window_size: 256, timestamp: 12, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b\x1b" } [INFO] [stdout] 2026-01-16T03:01:57.894770Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Established [INFO] [stdout] 2026-01-16T03:01:57.889270Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=PathResponse { header: ShortHeader { command: PathResponse, connection_id: 1, payload_length: 8, recv_window_size: 0, timestamp: 6, sequence_number: 1, recv_next_sequence: 0 }, challenge_data: 13420004499304461632 } [INFO] [stdout] 2026-01-16T03:01:57.894965Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PathProcessor" frame_type=PathResponse { header: ShortHeader { command: PathResponse, connection_id: 1, payload_length: 8, recv_window_size: 0, timestamp: 6, sequence_number: 1, recv_next_sequence: 0 }, challenge_data: 13420004499304461632 } [INFO] [stdout] 2026-01-16T03:01:57.895000Z DEBUG kestrel_protocol::core::endpoint::processing::processors::path: Processing PathResponse frame cid=1 seq=1 challenge_data=13420004499304461632 src_addr=127.0.0.1:5678 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: None } [INFO] [stdout] 2026-01-16T03:01:57.895042Z  WARN kestrel_protocol::core::endpoint::processing::processors::path: Received invalid PathResponse, ignoring cid=1 expected_addr=127.0.0.1:9999 received_addr=127.0.0.1:5678 expected_challenge=13420004499304461632 received_challenge=13420004499304461632 [INFO] [stdout] 2026-01-16T03:01:57.895070Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.895089Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: false, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.895390Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.895417Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.895518Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=114 [INFO] [stdout] 2026-01-16T03:01:57.895540Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=114 state=Established [INFO] [stdout] 2026-01-16T03:01:57.895573Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=13 [INFO] [stdout] 2026-01-16T03:01:57.895589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.895633Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:57.895651Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:57.890308Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.895681Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=110 [INFO] [stdout] ok2026-01-16T03:01:57.890868Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.895709Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.895738Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 57, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.895760Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 83, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.895786Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.895891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.895914Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.895973Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 57, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.891221Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:57.895999Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 57, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.896023Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.896042Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=13 [INFO] [stdout] 2026-01-16T03:01:57.896043Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:57.896068Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 57, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.896102Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.896120Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.896151Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] [INFO] [stdout] test core::tests::reliability::test_endpoint_fast_retransmission ... 2026-01-16T03:01:57.891332Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.896610Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.896741Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:57.891297Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=113 [INFO] [stdout] 2026-01-16T03:01:57.896927Z TRACE mio::poll: registering event source with poller: token=Token(123778340285184), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.896968Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.896937Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=113 state=Established [INFO] [stdout] 2026-01-16T03:01:57.897133Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:57.895698Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=110 state=Established [INFO] [stdout] 2026-01-16T03:01:57.897325Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.897387Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=2 expiry_time=Instant { tv_sec: 17987, tv_nsec: 434478350 } [INFO] [stdout] 2026-01-16T03:01:57.897417Z DEBUG kestrel_protocol::timer::wheel::core: Timing wheel advance completed expired_count=1 [INFO] [stdout] 2026-01-16T03:01:57.895804Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 1, recv_next_sequence: 5 }, payload: b"s-packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.897016Z TRACE mio::poll: registering event source with poller: token=Token(123778340285568), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.897620Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 1, recv_next_sequence: 5 }, payload: b"s-packet-1" } [INFO] [stdout] 2026-01-16T03:01:57.897660Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=1 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.897679Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=1 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.897711Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 254, timestamp: 85, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.897751Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 2, recv_next_sequence: 5 }, payload: b"s-packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.897776Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 10, recv_window_size: 256, timestamp: 68, sequence_number: 2, recv_next_sequence: 5 }, payload: b"s-packet-2" } [INFO] [stdout] 2026-01-16T03:01:57.897795Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=2 payload_len=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.897811Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=2 payload_len=10 [INFO] [stdout] 2026-01-16T03:01:57.897849Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 253, timestamp: 85, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.897882Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.897896Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.896638Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=129 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.897927Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.897939Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.897966Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:60202) [INFO] [stdout] 2026-01-16T03:01:57.897969Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=30 slots_to_advance=3 max_advance=3 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.898052Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:57.898076Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898285Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:57.898312Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898354Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:57.898374Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898415Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:57.898436Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898022Z TRACE mio::poll: registering event source with poller: token=Token(123778340285952), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.898478Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:57.898499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898562Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:57.898585Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:57.898605Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.898618Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.898627Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.898638Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:40451) [INFO] [stdout] 2026-01-16T03:01:57.898670Z  INFO kestrel_protocol::core::tests::state: Connecting for the first time... [INFO] [stdout] 2026-01-16T03:01:57.898706Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.898728Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.898763Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.898799Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:57.898840Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.897480Z TRACE kestrel_protocol::timer::event: Timer event triggered successfully timer_id=2 connection_id=1 event_type=PathValidationTimeout [INFO] [stdout] 2026-01-16T03:01:57.898961Z TRACE kestrel_protocol::timer::task::global: Timer event processed entry_id=2 connection_id=1 event_type=PathValidationTimeout [INFO] [stdout] 2026-01-16T03:01:57.899027Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.899035Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.899172Z TRACE mio::poll: registering event source with poller: token=Token(123777602062592), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.899197Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.899236Z TRACE mio::poll: registering event source with poller: token=Token(123777602063104), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.899270Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899316Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=130 remote_addr=127.0.0.1:9029 [INFO] [stdout] 2026-01-16T03:01:57.897496Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:57.899410Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899425Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.899433Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.899449Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:44817) [INFO] [stdout] 2026-01-16T03:01:57.899498Z TRACE mio::poll: registering event source with poller: token=Token(123777602095744), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.899529Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899558Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=29 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.899606Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899650Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.899682Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899711Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.899724Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.899736Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:35416) [INFO] [stdout] 2026-01-16T03:01:57.899772Z  INFO kestrel_protocol::core::tests::state: [Client] Connecting... [INFO] [stdout] 2026-01-16T03:01:57.899797Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.899812Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.899870Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.899965Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.899982Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.900008Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.900131Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.900179Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1149674157 remote_addr=127.0.0.1:44817 [INFO] [stdout] 2026-01-16T03:01:57.897531Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.900249Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.900284Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1149674157 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.900317Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.900357Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.900379Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1149674157 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.900429Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.900448Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1149674157 addr=127.0.0.1:44817 [INFO] [stdout] 2026-01-16T03:01:57.900443Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.900485Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1149674157 addr=127.0.0.1:44817 [INFO] [stdout] 2026-01-16T03:01:57.900466Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=130 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.900547Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:44817 cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.900556Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.900581Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1149674157 } } [INFO] [stdout] 2026-01-16T03:01:57.900620Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.900624Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:57.900649Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:57.900664Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.900692Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:57.900713Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:57.900719Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.900765Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:57.900788Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:57.899676Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=29 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.901528Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.901577Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.901607Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.897580Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=111 [INFO] [stdout] 2026-01-16T03:01:57.901715Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=111 state=Established [INFO] [stdout] 2026-01-16T03:01:57.901730Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.901766Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3722412200 remote_addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.901883Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.901911Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=3722412200 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.901943Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.901970Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=131 remote_addr=127.0.0.1:9030 [INFO] [stdout] 2026-01-16T03:01:57.901979Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.902000Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=3722412200 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.902062Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3722412200 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.902088Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3722412200 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.902122Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:60202 cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.902170Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.902209Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=30 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.902276Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.902310Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.902338Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=30 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.902419Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.902449Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=30 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.902499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.902550Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.902591Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.902143Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3722412200 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3722412200 } } [INFO] [stdout] 2026-01-16T03:01:57.902620Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=131 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.902641Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3722412200 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.902691Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.902736Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.902743Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=130 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.902775Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=130 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.902793Z  INFO kestrel_protocol::core::tests::state: First connection established. [INFO] [stdout] 2026-01-16T03:01:57.889050Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.902882Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.902921Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.902922Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.902922Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.902938Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.902949Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=2 peer_cid=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.902967Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Received duplicate SYN, ignoring. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.902969Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=130 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.902984Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.902988Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=130 remote_addr=127.0.0.1:9029 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 30, source_cid: 130 } } [INFO] [stdout] 2026-01-16T03:01:57.902998Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.903001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.903020Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3722412200 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.903024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:57.903029Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.903047Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903050Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.903060Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.903077Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.903081Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.903089Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.903094Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.903103Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.903117Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 30 } } [INFO] [stdout] 2026-01-16T03:01:57.903120Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.903129Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1323110977 remote_addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.903151Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.903156Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.903173Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=30 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 30, source_cid: 130 } } [INFO] [stdout] 2026-01-16T03:01:57.903176Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903194Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 30, source_cid: 130 } } [INFO] [stdout] 2026-01-16T03:01:57.903194Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.903213Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=30 peer_cid=130 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.903223Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.903222Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1323110977 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.903240Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.903271Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.903293Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.903338Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.903338Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.903356Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=30 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.903362Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:57.903377Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1 peer_cid=2 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.903375Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=30 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.903397Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=30 peer_cid=130 [INFO] [stdout] 2026-01-16T03:01:57.903417Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=30 frame=Push { header: ShortHeader { command: Push, connection_id: 30, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.903425Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.903445Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.903442Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 30, payload_length: 4, recv_window_size: 256, timestamp: 3, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.903462Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=30 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903479Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.903482Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=30 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.903490Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.903507Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.903522Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 130, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.903538Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.903558Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:57.903555Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.903576Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=30 count=1 [INFO] [stdout] 2026-01-16T03:01:57.903583Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1 peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.903601Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 4, recv_window_size: 256, timestamp: 18, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.903605Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903621Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 4, recv_window_size: 256, timestamp: 18, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.903638Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903655Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.903680Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.903706Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.903720Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=1 [INFO] [stdout] 2026-01-16T03:01:57.903717Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:57.903744Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.903756Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.903773Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.903787Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.903799Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.903811Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.901525Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.903916Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=29 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.904043Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=129 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.904071Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=129 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.904094Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.904105Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.904128Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=129 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.904142Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=129 remote_addr=127.0.0.1:9028 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 29, source_cid: 129 } } [INFO] [stdout] 2026-01-16T03:01:57.904171Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:57.904189Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:57.904354Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 29 } } [INFO] [stdout] 2026-01-16T03:01:57.904386Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.904406Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=29 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 29, source_cid: 129 } } [INFO] [stdout] 2026-01-16T03:01:57.904423Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 29, source_cid: 129 } } [INFO] [stdout] 2026-01-16T03:01:57.904441Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=29 peer_cid=129 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.904484Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.904502Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.904547Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.904560Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=29 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.904578Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=29 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.904595Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=29 peer_cid=129 [INFO] [stdout] 2026-01-16T03:01:57.904611Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=29 frame=Push { header: ShortHeader { command: Push, connection_id: 29, payload_length: 4, recv_window_size: 256, timestamp: 36, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.904632Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 29, payload_length: 4, recv_window_size: 256, timestamp: 36, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.904651Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=29 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.904668Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=29 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.904692Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 129, payload_length: 8, recv_window_size: 255, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.904721Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:57.904736Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=29 count=1 [INFO] [stdout] 2026-01-16T03:01:57.904760Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:57.904870Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:57.904908Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.904923Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.904936Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.904948Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.904960Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.904971Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.904982Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.904993Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.905005Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.905019Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.905329Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.905902Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1323110977 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.905942Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1323110977 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.905971Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:40451 cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.905724Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.906017Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:40451 cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.906042Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1323110977 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.906079Z  INFO kestrel_protocol::core::tests::state: Accepted first connection from 127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.906033Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.906289Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1323110977 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.906322Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1323110977 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.906353Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.906367Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.906383Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=1323110977 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.906402Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1323110977 remote_addr=127.0.0.1:40451 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3722412200, source_cid: 1323110977 } } [INFO] [stdout] 2026-01-16T03:01:57.906442Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.906464Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1323110977 state=Established [INFO] [stdout] 2026-01-16T03:01:57.906509Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:40451 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.906550Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:40451 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.906315Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.906646Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:60202 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.906702Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:60202 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.906756Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3722412200 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3722412200, source_cid: 1323110977 } } [INFO] [stdout] 2026-01-16T03:01:57.906782Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3722412200, source_cid: 1323110977 } } [INFO] [stdout] 2026-01-16T03:01:57.906804Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=3722412200 peer_cid=1323110977 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.906879Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.906900Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.906950Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.906972Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3722412200 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.906990Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3722412200 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.907009Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=3722412200 peer_cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.907029Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3722412200 frame=Push { header: ShortHeader { command: Push, connection_id: 3722412200, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack1" } [INFO] [stdout] 2026-01-16T03:01:57.907053Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 3722412200, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack1" } [INFO] [stdout] 2026-01-16T03:01:57.907075Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=3722412200 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.907095Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=3722412200 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.907126Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3722412200 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1323110977, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.907171Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.907191Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=3722412200 count=1 [INFO] [stdout] 2026-01-16T03:01:57.907221Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3722412200 state=Established [INFO] [stdout] 2026-01-16T03:01:57.907259Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.907325Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.907336Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:57.907367Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:57.907407Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:57.907419Z  INFO kestrel_protocol::core::tests::state: Client read 4 bytes: [97, 99, 107, 49] [INFO] [stdout] 2026-01-16T03:01:57.907428Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:57.907439Z  INFO kestrel_protocol::core::tests::state: Received server ack for first connection [INFO] [stdout] 2026-01-16T03:01:57.907455Z  INFO kestrel_protocol::core::tests::state: First connection shut down from client side. [INFO] [stdout] 2026-01-16T03:01:57.907493Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.907548Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=3722412200 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.907569Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3722412200 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.907595Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.907610Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=0 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.907633Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3722412200 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1323110977, payload_length: 0, recv_window_size: 256, timestamp: 564, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.907668Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.907691Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3722412200 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.907769Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:57.897898Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=3 [INFO] [stdout] 2026-01-16T03:01:57.909259Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.909281Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.909329Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.909370Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1323110977 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1323110977, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.909398Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1323110977, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.909421Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1323110977 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.909444Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.909461Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1323110977 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.909507Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.909604Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.908063Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.909967Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=132 remote_addr=127.0.0.1:9031 [INFO] [stdout] test core::endpoint::timing::tests::test_time_until_next_timeout_after_delay ... ok [INFO] [stdout] test core::tests::reliability::test_data_flow_with_acks ... ok [INFO] [stdout] 2026-01-16T03:01:57.908137Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.910182Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.910219Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.910242Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=514 srtt_ms=514 rttvar_ms=257 rto_ms=1542 [INFO] [stdout] 2026-01-16T03:01:57.910262Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.910275Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.910300Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.910306Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.910330Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1323110977 state=Established [INFO] [stdout] 2026-01-16T03:01:57.910341Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=31 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.910393Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.910389Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.910440Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.910478Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=31 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.910488Z  INFO kestrel_protocol::core::tests::state: Connecting for the second time from the same local socket... [INFO] [stdout] 2026-01-16T03:01:57.910571Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.910599Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=31 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.910706Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=131 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.910735Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=131 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.910767Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.910781Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.910800Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=131 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.910816Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=131 remote_addr=127.0.0.1:9030 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 31, source_cid: 131 } } [INFO] [stdout] 2026-01-16T03:01:57.910870Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:57.910894Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:57.910963Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.911001Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.911029Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=132 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.911114Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 31 } } [INFO] [stdout] 2026-01-16T03:01:57.911256Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.911285Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=31 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 31, source_cid: 131 } } [INFO] [stdout] 2026-01-16T03:01:57.911308Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 31, source_cid: 131 } } [INFO] [stdout] 2026-01-16T03:01:57.911329Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=31 peer_cid=131 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.911383Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.911405Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.911449Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.911463Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=31 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.911485Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=31 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.911505Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=31 peer_cid=131 [INFO] [stdout] 2026-01-16T03:01:57.911535Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=31 frame=Push { header: ShortHeader { command: Push, connection_id: 31, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.911560Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 31, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.911581Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=31 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.911601Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=31 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.911635Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 131, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.911669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=31 [INFO] [stdout] 2026-01-16T03:01:57.911688Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=31 count=1 [INFO] [stdout] 2026-01-16T03:01:57.911717Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Established [INFO] [stdout] 2026-01-16T03:01:57.911812Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=31 [INFO] [stdout] 2026-01-16T03:01:57.911866Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.911883Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.911900Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.911911Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.911922Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.911937Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.911948Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.911960Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.911971Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.911986Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.912280Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.913012Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.913049Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=133 remote_addr=127.0.0.1:9032 [INFO] [stdout] 2026-01-16T03:01:57.908163Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.913122Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.913141Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.913154Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.913172Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.913472Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.913874Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.913939Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=564 slots_to_advance=56 max_advance=56 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.914007Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=564 slots_to_advance=56 max_advance=56 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.914077Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.914122Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3736950754 remote_addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.913771Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.914174Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.914233Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=44 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.914260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3736950754 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.914313Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1323110977 frame=Fin { header: ShortHeader { command: Fin, connection_id: 1323110977, payload_length: 0, recv_window_size: 256, timestamp: 564, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.914338Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 1323110977, payload_length: 0, recv_window_size: 256, timestamp: 564, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.914357Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=1323110977 seq=0 state=Established [INFO] [stdout] 2026-01-16T03:01:57.914372Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Established state cid=1323110977 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.914395Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1323110977 remote_addr=127.0.0.1:40451 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3722412200, payload_length: 8, recv_window_size: 255, timestamp: 514, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.914428Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.914166Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.914445Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1323110977 current_state=Established target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.914466Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1323110977 from="Established" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.914486Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.914502Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1323110977 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.914556Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.914593Z  INFO kestrel_protocol::core::tests::state: First connection terminated on server. [INFO] [stdout] 2026-01-16T03:01:57.914623Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=496 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.914643Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3736950754 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.914699Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:40451 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.914457Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.914766Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3736950754 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.915497Z DEBUG kestrel_protocol::socket::event_loop::routing: 相同地址存在旧连接,移除旧连接 | Old connection exists for same address, removing old connection old_cid=3722412200 new_cid=3736950754 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.915552Z DEBUG kestrel_protocol::socket::event_loop::routing: 移除连接的地址映射 | Removed address mapping for connection cid=3722412200 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.915582Z DEBUG kestrel_protocol::socket::event_loop::routing: 清理连接状态完成,CID现在处于 draining 状态 | Cleaned up connection state. CID is now in draining state. cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.915581Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.915608Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3736950754 addr=127.0.0.1:60202 [INFO] [stdout] 2026-01-16T03:01:57.915681Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:60202 cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.915704Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.915714Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3736950754 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3736950754 } } [INFO] [stdout] 2026-01-16T03:01:57.915747Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3736950754 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.915789Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] test core::tests::shutdown::test_shutdown_from_fin_wait ... ok [INFO] [stdout] 2026-01-16T03:01:57.916004Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=10 [INFO] [stdout] test packet::tests::test_fin_frame_roundtrip ... ok [INFO] [stdout] 2026-01-16T03:01:57.916130Z  INFO kestrel_protocol::core::tests::state: Second connection established. [INFO] [stdout] 2026-01-16T03:01:57.916175Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.916232Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:60202 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.916279Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.916302Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916322Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.916361Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=876964732 remote_addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916411Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.916476Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=44 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.916506Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=876964732 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.916570Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3736950754 frame=Ack { header: ShortHeader { command: Ack, connection_id: 3722412200, payload_length: 8, recv_window_size: 255, timestamp: 514, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.916600Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 3722412200, payload_length: 8, recv_window_size: 255, timestamp: 514, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.916623Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=3736950754 recv_next_seq=0 recv_window=255 payload_len=8 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.916647Z  WARN kestrel_protocol::core::endpoint::processing::processors::ack: Ignoring ACK frame in unexpected state cid=3736950754 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.916665Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.916682Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3736950754 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.916873Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=876964732 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916898Z DEBUG kestrel_protocol::socket::event_loop::routing: 相同地址存在旧连接,移除旧连接 | Old connection exists for same address, removing old connection old_cid=1323110977 new_cid=876964732 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916925Z DEBUG kestrel_protocol::socket::event_loop::routing: 移除连接的地址映射 | Removed address mapping for connection cid=1323110977 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916946Z DEBUG kestrel_protocol::socket::event_loop::routing: 清理连接状态完成,CID现在处于 draining 状态 | Cleaned up connection state. CID is now in draining state. cid=1323110977 [INFO] [stdout] 2026-01-16T03:01:57.916968Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=876964732 addr=127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.916990Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:40451 cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.917028Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:40451 cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.917050Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=876964732 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.917100Z  INFO kestrel_protocol::core::tests::state: Accepted second connection from 127.0.0.1:40451 [INFO] [stdout] 2026-01-16T03:01:57.917126Z  INFO kestrel_protocol::core::tests::state: Sent ack to trigger SYN-ACK for connection B. [INFO] [stdout] 2026-01-16T03:01:57.917156Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=876964732 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.917180Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=876964732 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.917209Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.917221Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.917238Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=876964732 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.917256Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=876964732 remote_addr=127.0.0.1:40451 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3736950754, source_cid: 876964732 } } [INFO] [stdout] 2026-01-16T03:01:57.917289Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.917311Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=876964732 state=Established [INFO] [stdout] 2026-01-16T03:01:57.917349Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:40451 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.917391Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:40451 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.917494Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:60202 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.917561Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:60202 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.917623Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3736950754 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3736950754, source_cid: 876964732 } } [INFO] [stdout] 2026-01-16T03:01:57.917650Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3736950754, source_cid: 876964732 } } [INFO] [stdout] 2026-01-16T03:01:57.917670Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=3736950754 peer_cid=876964732 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.917725Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=4 [INFO] [stdout] 2026-01-16T03:01:57.917746Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=4 [INFO] [stdout] 2026-01-16T03:01:57.917789Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.917802Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3736950754 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.917820Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3736950754 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.917859Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=3736950754 peer_cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.917880Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3736950754 frame=Push { header: ShortHeader { command: Push, connection_id: 3736950754, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack2" } [INFO] [stdout] 2026-01-16T03:01:57.917905Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 3736950754, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack2" } [INFO] [stdout] test packet::tests::test_frame_decode_no_header_pollution ... 2026-01-16T03:01:57.917927Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=3736950754 seq=0 payload_len=4 state=Established [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.917947Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=3736950754 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.917974Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3736950754 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 876964732, payload_length: 8, recv_window_size: 255, timestamp: 12, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] test packet::tests::test_ping_frame_roundtrip ... ok [INFO] [stdout] 2026-01-16T03:01:57.918186Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.918214Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=3736950754 count=1 [INFO] [stdout] 2026-01-16T03:01:57.918246Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3736950754 state=Established [INFO] [stdout] 2026-01-16T03:01:57.918286Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.918326Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.918418Z  INFO kestrel_protocol::core::tests::state: Received server ack for second connection [INFO] [stdout] 2026-01-16T03:01:57.918444Z  INFO kestrel_protocol::core::tests::state: Data sent on second connection. [INFO] [stdout] 2026-01-16T03:01:57.918480Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.918548Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.918573Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.918594Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3736950754 remote_addr=127.0.0.1:60202 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 876964732, payload_length: 19, recv_window_size: 256, timestamp: 12, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello from client B" } [INFO] [stdout] 2026-01-16T03:01:57.918632Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3736950754 state=Established [INFO] [stdout] 2026-01-16T03:01:57.918673Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.918723Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.918762Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=876964732 frame=Ack { header: ShortHeader { command: Ack, connection_id: 876964732, payload_length: 8, recv_window_size: 255, timestamp: 12, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.918788Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 876964732, payload_length: 8, recv_window_size: 255, timestamp: 12, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.918812Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=876964732 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.918851Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.918867Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=876964732 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.918910Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.918934Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.918956Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=12 srtt_ms=12 rttvar_ms=6 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.918977Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.918990Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.919008Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.919028Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=876964732 state=Established [INFO] [stdout] 2026-01-16T03:01:57.919106Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:60202 frame_count=1 bytes=40 [INFO] [stdout] 2026-01-16T03:01:57.919204Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:40451 frame_count=1 bytes=40 [INFO] [stdout] 2026-01-16T03:01:57.919272Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=40 slots_to_advance=4 max_advance=4 current_slot=56 [INFO] [stdout] 2026-01-16T03:01:57.919325Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=40 slots_to_advance=4 max_advance=4 current_slot=56 [INFO] [stdout] 2026-01-16T03:01:57.919372Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.919424Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=876964732 frame=Push { header: ShortHeader { command: Push, connection_id: 876964732, payload_length: 19, recv_window_size: 256, timestamp: 12, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello from client B" } [INFO] [stdout] 2026-01-16T03:01:57.919455Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 876964732, payload_length: 19, recv_window_size: 256, timestamp: 12, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello from client B" } [INFO] [stdout] 2026-01-16T03:01:57.919581Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=876964732 seq=0 payload_len=19 state=Established [INFO] [stdout] 2026-01-16T03:01:57.919602Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=876964732 seq=0 payload_len=19 [INFO] [stdout] 2026-01-16T03:01:57.919629Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=876964732 remote_addr=127.0.0.1:40451 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3736950754, payload_length: 8, recv_window_size: 255, timestamp: 36, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.919665Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=876964732 [INFO] [stdout] 2026-01-16T03:01:57.919681Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=876964732 count=1 [INFO] [stdout] 2026-01-16T03:01:57.919707Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=876964732 state=Established [INFO] [stdout] 2026-01-16T03:01:57.919741Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:40451 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.919779Z  INFO kestrel_protocol::core::tests::state: Second connection on server verified. [INFO] [stdout] 2026-01-16T03:01:57.908597Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.919848Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:40451 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.919961Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.919968Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:60202 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.919992Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.920028Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:60202 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.920034Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.920057Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:35416 [INFO] [stdout] 2026-01-16T03:01:57.920076Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.920086Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3736950754 frame=Ack { header: ShortHeader { command: Ack, connection_id: 3736950754, payload_length: 8, recv_window_size: 255, timestamp: 36, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.920115Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 3736950754, payload_length: 8, recv_window_size: 255, timestamp: 36, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.920119Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=984114638 remote_addr=127.0.0.1:35416 [INFO] [stdout] 2026-01-16T03:01:57.920136Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=3736950754 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.920156Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.920170Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=3736950754 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.920187Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.920197Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.920218Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=984114638 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.920215Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.920293Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=984114638 addr=127.0.0.1:35416 [INFO] [stdout] 2026-01-16T03:01:57.920310Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=124 srtt_ms=124 rttvar_ms=62 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.920329Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=984114638 addr=127.0.0.1:35416 [INFO] [stdout] 2026-01-16T03:01:57.920333Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.920346Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.920349Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:35416 cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.920361Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.920378Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3736950754 state=Established [INFO] [stdout] 2026-01-16T03:01:57.920385Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:35416 cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.920405Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.920443Z  INFO kestrel_protocol::core::tests::state: [Server] Accepted connection from 127.0.0.1:35416 [INFO] [stdout] 2026-01-16T03:01:57.920478Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=984114638 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.920487Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3722412200 [INFO] [stdout] 2026-01-16T03:01:57.920499Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=984114638 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.920537Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.920551Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.920567Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=984114638 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.920583Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=984114638 remote_addr=127.0.0.1:35416 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1149674157, source_cid: 984114638 } } [INFO] [stdout] 2026-01-16T03:01:57.920614Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.920633Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.920636Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.920670Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35416 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.920709Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35416 frame_count=2 bytes=43 [INFO] [stdout] 2026-01-16T03:01:57.920784Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.920849Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:44817 frame_count=2 bytes=43 [INFO] [stdout] 2026-01-16T03:01:57.920908Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:44817 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.920965Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1149674157, source_cid: 984114638 } } [INFO] [stdout] 2026-01-16T03:01:57.920976Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3736950754 [INFO] [stdout] 2026-01-16T03:01:57.920990Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 1149674157, source_cid: 984114638 } } [INFO] [stdout] 2026-01-16T03:01:57.921008Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=1149674157 peer_cid=984114638 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.921053Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.921071Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.921103Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.921117Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1149674157 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.921136Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1149674157 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.921167Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=1149674157 peer_cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.921187Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 12, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"server_ready" } [INFO] [stdout] 2026-01-16T03:01:57.921214Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 12, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"server_ready" } [INFO] [stdout] 2026-01-16T03:01:57.921234Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1149674157 seq=0 payload_len=12 state=Established [INFO] [stdout] test packet::tests::test_push_frame_roundtrip ... ok [INFO] [stdout] 2026-01-16T03:01:57.921254Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1149674157 seq=0 payload_len=12 [INFO] [stdout] 2026-01-16T03:01:57.921293Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] test core::tests::state::test_address_reuse_after_connection_close ... ok [INFO] [stdout] 2026-01-16T03:01:57.921328Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.921343Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1149674157 count=1 [INFO] [stdout] 2026-01-16T03:01:57.921373Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.921406Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] test packet::tests::test_syn_frame_roundtrip ... ok [INFO] [stdout] 2026-01-16T03:01:57.921435Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.921548Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.921600Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.921619Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.921637Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 12, recv_window_size: 256, timestamp: 64, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello_server" } [INFO] [stdout] 2026-01-16T03:01:57.921671Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.921705Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.921743Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.921773Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=984114638 frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.921794Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.922538Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.922730Z TRACE kestrel_protocol::socket::event_loop::draining: Cleaned up expired draining CIDs. cleaned_count=2 [INFO] [stdout] 2026-01-16T03:01:57.922787Z TRACE kestrel_protocol::socket::event_loop::draining: Cleaned up expired draining CIDs. cleaned_count=1 [INFO] [stdout] test socket::event_loop::draining::tests::test_draining_pool_cleanup ... ok [INFO] [stdout] 2026-01-16T03:01:57.923085Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.908932Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.924885Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 4, recv_window_size: 256, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.924916Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.924938Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.924968Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 40, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.925016Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.925039Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 19, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.925057Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.925078Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=2 [INFO] [stdout] 2026-01-16T03:01:57.925094Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.925136Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.925157Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.925175Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=21 srtt_ms=21 rttvar_ms=10 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.925193Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.925205Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.925224Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.925239Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:57.925269Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.925400Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 40, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.925429Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 40, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.925446Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.925464Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:57.925477Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.925505Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.925530Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.925549Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=21 srtt_ms=21 rttvar_ms=10 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.925566Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.925576Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.925592Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.925609Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.925632Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.925648Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.925669Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.925711Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.925734Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 41, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.925765Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.925786Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] test socket::event_loop::draining::tests::test_draining_pool_insert_and_contains ... ok [INFO] [stdout] 2026-01-16T03:01:57.926040Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.926128Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.926152Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 999 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 999 [INFO] [stdout] 2026-01-16T03:01:57.926175Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=999 addr=127.0.0.1:8080 cache_key=999 [INFO] [stdout] 2026-01-16T03:01:57.926204Z DEBUG kestrel_protocol::socket::event_loop::routing: 清理超时的早到帧缓存 | Cleaned up expired early arrival frame cache cache_key=999 [INFO] [stdout] test socket::event_loop::routing::tests::test_cleanup_expired_frames ... ok [INFO] [stdout] 2026-01-16T03:01:57.926451Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.926545Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.926560Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 123 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 123 [INFO] [stdout] 2026-01-16T03:01:57.926577Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=123 addr=127.0.0.1:8080 cache_key=123 [INFO] [stdout] 2026-01-16T03:01:57.926599Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=123 addr=127.0.0.1:8080 [INFO] [stdout] 2026-01-16T03:01:57.926639Z DEBUG kestrel_protocol::socket::event_loop::routing: 成功转发缓存的早到帧 | Successfully forwarded cached early arrival frames cid=123 cache_key=123 count=1 [INFO] [stdout] 2026-01-16T03:01:57.926662Z DEBUG kestrel_protocol::socket::event_loop::routing: 总共转发缓存帧 | Total forwarded cached frames cid=123 addr=127.0.0.1:8080 total_count=1 [INFO] [stdout] test socket::event_loop::routing::tests::test_early_frame_caching ... ok [INFO] [stdout] test packet::tests::test_ack_frame_roundtrip ... ok [INFO] [stdout] test packet::tests::test_coalesced_frames_decode ... ok [INFO] [stdout] 2026-01-16T03:01:57.926974Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.927091Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.927112Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.927136Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 555 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 555 [INFO] [stdout] 2026-01-16T03:01:57.927168Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=555 addr=127.0.0.1:8080 cache_key=555 [INFO] [stdout] 2026-01-16T03:01:57.927193Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.927197Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=555 addr=127.0.0.1:8080 [INFO] [stdout] 2026-01-16T03:01:57.927210Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8081 CID 0 | Cached early arrival PUSH frame from 127.0.0.1:8081 with CID 0 [INFO] [stdout] 2026-01-16T03:01:57.927232Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=0 addr=127.0.0.1:8081 cache_key=17449081214994602641 [INFO] [stdout] 2026-01-16T03:01:57.927251Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8082 CID 0 | Cached early arrival PUSH frame from 127.0.0.1:8082 with CID 0 [INFO] [stdout] 2026-01-16T03:01:57.927245Z DEBUG kestrel_protocol::socket::event_loop::routing: 成功转发缓存的早到帧 | Successfully forwarded cached early arrival frames cid=555 cache_key=555 count=1 [INFO] [stdout] 2026-01-16T03:01:57.927265Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=0 addr=127.0.0.1:8082 cache_key=16848164392997846392 [INFO] [stdout] 2026-01-16T03:01:57.927281Z DEBUG kestrel_protocol::socket::event_loop::routing: 总共转发缓存帧 | Total forwarded cached frames cid=555 addr=127.0.0.1:8080 total_count=1 [INFO] [stdout] 2026-01-16T03:01:57.927483Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.927561Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.927575Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 456 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 456 [INFO] [stdout] 2026-01-16T03:01:57.927592Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=456 addr=127.0.0.1:8080 cache_key=456 [INFO] [stdout] 2026-01-16T03:01:57.927609Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 456 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 456 [INFO] [stdout] 2026-01-16T03:01:57.927621Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=456 addr=127.0.0.1:8080 cache_key=456 [INFO] [stdout] 2026-01-16T03:01:57.914758Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.906584Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.932937Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.933241Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 1200, recv_window_size: 256, timestamp: 5, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.933645Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=29 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 129, payload_length: 640, recv_window_size: 256, timestamp: 5, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c" } [INFO] [stdout] 2026-01-16T03:01:57.933851Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:57.933953Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.934128Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.934163Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=32 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.934231Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.934291Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.934332Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=32 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.934416Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.934441Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=32 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.934567Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=132 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.934599Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=132 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.934638Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.934651Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.934680Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=132 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.934697Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=132 remote_addr=127.0.0.1:9031 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 32, source_cid: 132 } } [INFO] [stdout] 2026-01-16T03:01:57.934733Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:57.934879Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:57.934935Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.934973Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.934997Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=133 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.935219Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.935249Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=134 remote_addr=127.0.0.1:9033 [INFO] [stdout] 2026-01-16T03:01:57.912672Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.935323Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.935610Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.935935Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=ValidatingPath { new_addr: 127.0.0.1:9999, challenge_data: 13420004499304461632, notifier: Some(Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: true, is_tx_task_set: false } }) }) } [INFO] [stdout] 2026-01-16T03:01:57.935974Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="ValidatingPath" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.936006Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.936024Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.936047Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 55, sequence_number: 2, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.936081Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.936102Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.936235Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.935903Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.936311Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.936284Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.936936Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] test socket::event_loop::routing::tests::test_multiple_clients_zero_rtt_isolation ... ok [INFO] [stdout] 2026-01-16T03:01:57.941000Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.941272Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.941437Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.941317Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=30 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 130, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d" } [INFO] [stdout] 2026-01-16T03:01:57.941474Z DEBUG kestrel_protocol::socket::event_loop::routing: 忽略来自未知源的非SYN数据包 127.0.0.1:8080 不可路由CID 789: Ack { header: ShortHeader { command: Ack, connection_id: 789, payload_length: 0, recv_window_size: 1024, timestamp: 12345, sequence_number: 0, recv_next_sequence: 0 }, payload: b"" } | Ignoring non-SYN packet from unknown source 127.0.0.1:8080 with unroutable CID 789: Ack { header: ShortHeader { command: Ack, connection_id: 789, payload_length: 0, recv_window_size: 1024, timestamp: 12345, sequence_number: 0, recv_next_sequence: 0 }, payload: b"" } [INFO] [stdout] 2026-01-16T03:01:57.941504Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:57.941599Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.927696Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.941884Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.941891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.941929Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.941928Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=33 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.941986Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.942001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.942022Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942032Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.942070Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=33 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.928090Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=2 current_state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.942119Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="SynReceived" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.942156Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.942167Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.942178Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=0 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.942195Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=33 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.942210Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 65, sequence_number: 0, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.942265Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.942295Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.942324Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=133 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.942355Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=133 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.942391Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.942399Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.942404Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.929868Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=2 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.914877Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.942449Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.915212Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942478Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.942496Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.942517Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 57, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.936590Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.942553Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.942556Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:57.942576Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.942588Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942637Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=20 [INFO] [stdout] 2026-01-16T03:01:57.942657Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942703Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.942695Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 57, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.942726Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 57, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.942598Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=31 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 131, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e" } [INFO] [stdout] 2026-01-16T03:01:57.942748Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.942751Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=1 seq=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.942752Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.942771Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=1 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.942775Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=134 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.942803Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 58, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.942861Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Closing target_state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.942880Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Closing" to="ClosingWait" [INFO] [stdout] 2026-01-16T03:01:57.942901Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.942904Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 33 } } [INFO] [stdout] 2026-01-16T03:01:57.942921Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=1 [INFO] [stdout] 2026-01-16T03:01:57.942944Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.942944Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.921812Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=984114638 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.942978Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 41, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.943000Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 41, sequence_number: 1, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.943013Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.943017Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.937360Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 32 } } [INFO] [stdout] 2026-01-16T03:01:57.943049Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=984114638 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.928897Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.943101Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.943127Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.943149Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=14 srtt_ms=14 rttvar_ms=7 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.943168Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.943164Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.943183Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.943200Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=32 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 32, source_cid: 132 } } [INFO] [stdout] 2026-01-16T03:01:57.943210Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.943226Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 32, source_cid: 132 } } [INFO] [stdout] 2026-01-16T03:01:57.943238Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.943250Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=32 peer_cid=132 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.943311Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.943335Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.943337Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=33 [INFO] [stdout] 2026-01-16T03:01:57.943032Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.943388Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.943403Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=32 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.943424Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=32 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.943415Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 58, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.943444Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=32 peer_cid=132 [INFO] [stdout] 2026-01-16T03:01:57.943459Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Closing target_state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.943463Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=32 frame=Push { header: ShortHeader { command: Push, connection_id: 32, payload_length: 4, recv_window_size: 256, timestamp: 24, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.943479Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Closing" to="ClosingWait" [INFO] [stdout] 2026-01-16T03:01:57.943490Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 32, payload_length: 4, recv_window_size: 256, timestamp: 24, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.943497Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.943514Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:57.943512Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=32 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.943531Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:57.943533Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=33 [INFO] [stdout] 2026-01-16T03:01:57.943546Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=32 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.943588Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 132, payload_length: 8, recv_window_size: 255, timestamp: 9, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.943624Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=32 [INFO] [stdout] 2026-01-16T03:01:57.943621Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.943643Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=32 count=1 [INFO] [stdout] 2026-01-16T03:01:57.943648Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:57.943673Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Established [INFO] [stdout] 2026-01-16T03:01:57.943672Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.943696Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:57.943723Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.943787Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=984114638 frame=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 12, recv_window_size: 256, timestamp: 64, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello_server" } [INFO] [stdout] 2026-01-16T03:01:57.943811Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.943821Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 12, recv_window_size: 256, timestamp: 64, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello_server" } [INFO] [stdout] 2026-01-16T03:01:57.943872Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=984114638 seq=0 payload_len=12 state=Established [INFO] [stdout] 2026-01-16T03:01:57.943896Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=984114638 seq=0 payload_len=12 [INFO] [stdout] 2026-01-16T03:01:57.943929Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=984114638 remote_addr=127.0.0.1:35416 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 50, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.943978Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.943996Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=984114638 count=1 [INFO] [stdout] 2026-01-16T03:01:57.944024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944039Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.944064Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.944119Z  INFO kestrel_protocol::core::tests::state: [Server] Received client message [INFO] [stdout] 2026-01-16T03:01:57.944157Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35416 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.944224Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.944230Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.944259Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.944282Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=984114638 remote_addr=127.0.0.1:35416 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 12, recv_window_size: 256, timestamp: 50, sequence_number: 1, recv_next_sequence: 1 }, payload: b"hello_client" } [INFO] [stdout] 2026-01-16T03:01:57.944306Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:57.944314Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944331Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944353Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.944397Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35416 frame_count=1 bytes=33 [INFO] [stdout] 2026-01-16T03:01:57.944493Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:44817 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.944550Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:44817 frame_count=1 bytes=33 [INFO] [stdout] 2026-01-16T03:01:57.944605Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.944626Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944666Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.944698Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.944737Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 50, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.944763Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 50, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.944787Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1149674157 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944809Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.944807Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:57.944843Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1149674157 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.944854Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944876Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.944896Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.944917Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=50 srtt_ms=50 rttvar_ms=25 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.944937Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.944949Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.944952Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:57.944969Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 12, recv_window_size: 256, timestamp: 50, sequence_number: 1, recv_next_sequence: 1 }, payload: b"hello_client" } [INFO] [stdout] 2026-01-16T03:01:57.944977Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:57.944993Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 12, recv_window_size: 256, timestamp: 50, sequence_number: 1, recv_next_sequence: 1 }, payload: b"hello_client" } [INFO] [stdout] 2026-01-16T03:01:57.945013Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1149674157 seq=1 payload_len=12 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945021Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=34 slots_to_advance=3 max_advance=3 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945033Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1149674157 seq=1 payload_len=12 [INFO] [stdout] 2026-01-16T03:01:57.945057Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 114, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.945072Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=133 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945092Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.945107Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1149674157 count=1 [INFO] [stdout] 2026-01-16T03:01:57.945127Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=37 slots_to_advance=3 max_advance=3 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945137Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945175Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.945174Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=133 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945211Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.945225Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=132 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945275Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=133 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945299Z  INFO kestrel_protocol::core::tests::state: [Client] Received server response [INFO] [stdout] 2026-01-16T03:01:57.945332Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:57.945342Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.945358Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945397Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.945410Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=131 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945420Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.945441Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 14, recv_window_size: 256, timestamp: 114, sequence_number: 1, recv_next_sequence: 2 }, payload: b"goodbye_server" } [INFO] [stdout] 2026-01-16T03:01:57.945463Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=132 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945476Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945527Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:57.945528Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.945550Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945576Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.945591Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:57.945611Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945611Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=984114638 frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 114, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.945636Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 114, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.945649Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.945656Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=984114638 recv_next_seq=1 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945670Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.945676Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.945690Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=984114638 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.945710Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=131 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945719Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:57.945736Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.945755Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=14 srtt_ms=14 rttvar_ms=5 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.945758Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=132 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.945770Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.945782Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.945797Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.945804Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.942441Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=133 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.946198Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=133 remote_addr=127.0.0.1:9032 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 33, source_cid: 133 } } [INFO] [stdout] 2026-01-16T03:01:57.946234Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=133 [INFO] [stdout] 2026-01-16T03:01:57.946257Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=Established [INFO] [stdout] 2026-01-16T03:01:57.946325Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:57.946349Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] test socket::event_loop::routing::tests::test_forward_cached_frames_success ... 2026-01-16T03:01:57.946405Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=132 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.946464Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=131 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] test socket::event_loop::routing::tests::test_multiple_early_frames_caching ... ok [INFO] [stdout] test core::tests::shutdown::test_shutdown_when_validating_path ... 2026-01-16T03:01:57.946528Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.946553Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] test socket::event_loop::routing::tests::test_non_push_frames_not_cached ... ok [INFO] [stdout] 2026-01-16T03:01:57.946594Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] test core::tests::shutdown::test_retransmission_after_fin_is_ignored ... 2026-01-16T03:01:57.946616Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.946659Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.946708Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] test core::tests::shutdown::test_shutdown_when_syn_received ... ok [INFO] [stdout] 2026-01-16T03:01:57.946763Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] test core::tests::shutdown::test_simultaneous_close ... ok [INFO] [stdout] 2026-01-16T03:01:57.946785Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] test packet::tests::test_syn_ack_frame_roundtrip ... ok [INFO] [stdout] 2026-01-16T03:01:57.946804Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.946866Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.946921Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.946938Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.946960Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:8080 CID 0 | Cached early arrival PUSH frame from 127.0.0.1:8080 with CID 0 [INFO] [stdout] 2026-01-16T03:01:57.946968Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.946986Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=0 addr=127.0.0.1:8080 cache_key=9681000149947289835 [INFO] [stdout] 2026-01-16T03:01:57.946989Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.946968Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.947014Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=123 addr=127.0.0.1:8080 [INFO] [stdout] 2026-01-16T03:01:57.947041Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947054Z DEBUG kestrel_protocol::socket::event_loop::routing: 成功转发缓存的早到帧 | Successfully forwarded cached early arrival frames cid=123 cache_key=9681000149947289835 count=1 [INFO] [stdout] 2026-01-16T03:01:57.947074Z DEBUG kestrel_protocol::socket::event_loop::routing: 总共转发缓存帧 | Total forwarded cached frames cid=123 addr=127.0.0.1:8080 total_count=1 [INFO] [stdout] 2026-01-16T03:01:57.947094Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947141Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947190Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947193Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.947289Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.947232Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947391Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947442Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947453Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.947471Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.947489Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947541Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.947549Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947599Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947646Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947696Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947740Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947747Z TRACE mio::poll: registering event source with poller: token=Token(123778474471424), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.947785Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947847Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947898Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=122 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947936Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.947942Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.947979Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.947996Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.948005Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.948001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:57.948026Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:57.948028Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:58125) [INFO] [stdout] 2026-01-16T03:01:57.948027Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:1001 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.948070Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:57.948072Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:1001 [INFO] [stdout] 2026-01-16T03:01:57.948093Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:57.948137Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=103 [INFO] [stdout] 2026-01-16T03:01:57.946162Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=32 [INFO] [stdout] 2026-01-16T03:01:57.948625Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.948753Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.948769Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.948779Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.948788Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.948798Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.948809Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.948818Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.948845Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.948868Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:57.948880Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.948929Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.949051Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.949086Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3585194834 remote_addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.948861Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.949172Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.949186Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.949202Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:57.949206Z TRACE mio::poll: registering event source with poller: token=Token(123778474521728), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.949206Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=3585194834 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.949229Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:57.949286Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.949311Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=3585194834 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.949385Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3585194834 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.949143Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.949420Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3585194834 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.949438Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.949489Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:46812 cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.949503Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.949520Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.949531Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.949516Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3585194834 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3585194834 } } [INFO] [stdout] 2026-01-16T03:01:57.949545Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:43019) [INFO] [stdout] 2026-01-16T03:01:57.949553Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3585194834 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.949562Z TRACE mio::poll: registering event source with poller: token=Token(123778675832960), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.949586Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] test socket::event_loop::routing::tests::test_zero_rtt_early_frames_caching ... 2026-01-16T03:01:57.949596Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.940220Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.946038Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.946095Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=135 remote_addr=127.0.0.1:9034 [INFO] [stdout] 2026-01-16T03:01:57.949662Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3 [INFO] [stdout] 2026-01-16T03:01:57.949678Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.949675Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=110 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.949687Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:57.948305Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.949697Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.949727Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.949742Z TRACE mio::poll: registering event source with poller: token=Token(123778273150464), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.949758Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.949770Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.949787Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] ok2026-01-16T03:01:57.949810Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] [INFO] [stdout] 2026-01-16T03:01:57.949866Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.949870Z  INFO kestrel_protocol::socket::tests::rebind: 服务器地址: 127.0.0.1:58125 [INFO] [stdout] 2026-01-16T03:01:57.949884Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.949889Z  INFO kestrel_protocol::socket::tests::rebind: 客户端原始地址: 127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.948458Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=107 [INFO] [stdout] 2026-01-16T03:01:57.949958Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950003Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.950009Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:57.950021Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.950028Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950047Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=104 [INFO] [stdout] 2026-01-16T03:01:57.950065Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:57.950083Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.950083Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950117Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:57.950117Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.950133Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950168Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=112 [INFO] [stdout] 2026-01-16T03:01:57.950185Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950201Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:57.950203Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:2001 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.950218Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:57.950235Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950232Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.950238Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:2001 [INFO] [stdout] 2026-01-16T03:01:57.950241Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2260769620 remote_addr=127.0.0.1:58125 [INFO] [stdout] 2026-01-16T03:01:57.950268Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=6 [INFO] [stdout] 2026-01-16T03:01:57.950288Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950305Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=696643784 [INFO] [stdout] 2026-01-16T03:01:57.950308Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:3001 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.950310Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.950325Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=109 [INFO] [stdout] 2026-01-16T03:01:57.950336Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=696643784 remote_addr=127.0.0.1:2001 [INFO] [stdout] 2026-01-16T03:01:57.950338Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:3001 [INFO] [stdout] 2026-01-16T03:01:57.950342Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950342Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2260769620 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.950378Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=108 [INFO] [stdout] 2026-01-16T03:01:57.950388Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=104 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950399Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950394Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.950403Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=743864336 [INFO] [stdout] 2026-01-16T03:01:57.950422Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=696643784 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.950433Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=743864336 remote_addr=127.0.0.1:3001 [INFO] [stdout] 2026-01-16T03:01:57.950436Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=121 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950480Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=120 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950484Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.950490Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.950494Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=696643784 addr=127.0.0.1:2001 [INFO] [stdout] 2026-01-16T03:01:57.950511Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=743864336 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.950514Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=109 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.950525Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2260769620 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.950525Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=696643784 addr=127.0.0.1:2001 [INFO] [stdout] 2026-01-16T03:01:57.950561Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.950568Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:2001 cid=696643784 [INFO] [stdout] 2026-01-16T03:01:57.950599Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:2002 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.950601Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=743864336 addr=127.0.0.1:3001 [INFO] [stdout] 2026-01-16T03:01:57.950602Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=16 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950617Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:2002 [INFO] [stdout] 2026-01-16T03:01:57.950619Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=2260769620 addr=127.0.0.1:58125 [INFO] [stdout] 2026-01-16T03:01:57.950627Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=743864336 addr=127.0.0.1:3001 [INFO] [stdout] 2026-01-16T03:01:57.950631Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=2783621660 [INFO] [stdout] 2026-01-16T03:01:57.950647Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=37 slots_to_advance=3 max_advance=3 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950655Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=2260769620 addr=127.0.0.1:58125 [INFO] [stdout] 2026-01-16T03:01:57.950657Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:3001 cid=743864336 [INFO] [stdout] 2026-01-16T03:01:57.950664Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2783621660 remote_addr=127.0.0.1:2002 [INFO] [stdout] 2026-01-16T03:01:57.950686Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:3002 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.950687Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=114 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950704Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:3002 [INFO] [stdout] 2026-01-16T03:01:57.950718Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=414688114 [INFO] [stdout] 2026-01-16T03:01:57.950714Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.950718Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:58125 cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:57.950724Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=108 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.949628Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.950747Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=414688114 remote_addr=127.0.0.1:3002 [INFO] [stdout] 2026-01-16T03:01:57.950759Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2260769620 remote_addr=127.0.0.1:58125 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 2260769620 } } [INFO] [stdout] 2026-01-16T03:01:57.950767Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=112 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950738Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2783621660 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.950800Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.950796Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.950839Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=112 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950846Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:2001 cid=696643784 [INFO] [stdout] 2026-01-16T03:01:57.950843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=414688114 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.950870Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=696643784 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.950869Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:58125 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.950881Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950890Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:3001 cid=743864336 [INFO] [stdout] 2026-01-16T03:01:57.949431Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.950911Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=743864336 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.950917Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950921Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=2783621660 addr=127.0.0.1:2002 [INFO] [stdout] 2026-01-16T03:01:57.950923Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:58125 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.950946Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=2783621660 addr=127.0.0.1:2002 [INFO] [stdout] 2026-01-16T03:01:57.950952Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=110 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950959Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=414688114 addr=127.0.0.1:3002 [INFO] [stdout] 2026-01-16T03:01:57.950965Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:2002 cid=2783621660 [INFO] [stdout] 2026-01-16T03:01:57.950982Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=414688114 addr=127.0.0.1:3002 [INFO] [stdout] 2026-01-16T03:01:57.950985Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.950994Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:2002 cid=2783621660 [INFO] [stdout] 2026-01-16T03:01:57.951014Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:3002 cid=414688114 [INFO] [stdout] 2026-01-16T03:01:57.951031Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:57.951039Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:43019 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.951049Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:3002 cid=414688114 [INFO] [stdout] 2026-01-16T03:01:57.951051Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2783621660 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.948162Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.951069Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=414688114 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.948160Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3602456262 [INFO] [stdout] 2026-01-16T03:01:57.951106Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:43019 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.951128Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.951142Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=384757967 [INFO] [stdout] 2026-01-16T03:01:57.951138Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3602456262 remote_addr=127.0.0.1:1001 [INFO] [stdout] 2026-01-16T03:01:57.951144Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=743864336 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.951173Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=743864336 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.951179Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=384757967 remote_addr=127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.951203Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.951216Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.951221Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.951230Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=743864336 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.951238Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.951249Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=743864336 remote_addr=127.0.0.1:3001 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 300, source_cid: 743864336 } } [INFO] [stdout] 2026-01-16T03:01:57.951253Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=3602456262 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.951267Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=384757967 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.951296Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=743864336 [INFO] [stdout] 2026-01-16T03:01:57.951317Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=743864336 state=Established [INFO] [stdout] 2026-01-16T03:01:57.951322Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3602456262 addr=127.0.0.1:1001 [INFO] [stdout] 2026-01-16T03:01:57.951352Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3602456262 addr=127.0.0.1:1001 [INFO] [stdout] 2026-01-16T03:01:57.951349Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=384757967 addr=127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.951382Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=384757967 addr=127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.951385Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:1001 cid=3602456262 [INFO] [stdout] 2026-01-16T03:01:57.951387Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=414688114 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.951411Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=414688114 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.951428Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:1001 cid=3602456262 [INFO] [stdout] 2026-01-16T03:01:57.951435Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.951445Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.951446Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3602456262 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.951459Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=414688114 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.951473Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=414688114 remote_addr=127.0.0.1:3002 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 400, source_cid: 414688114 } } [INFO] [stdout] 2026-01-16T03:01:57.951499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=414688114 [INFO] [stdout] 2026-01-16T03:01:57.951405Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:43019 cid=384757967 [INFO] [stdout] 2026-01-16T03:01:57.951516Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=414688114 state=Established [INFO] [stdout] 2026-01-16T03:01:57.951530Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:43019 cid=384757967 [INFO] [stdout] 2026-01-16T03:01:57.951575Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.951054Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:57.951655Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=10 [INFO] [stdout] 2026-01-16T03:01:57.951678Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=10 state=Established [INFO] [stdout] 2026-01-16T03:01:57.951715Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=128 [INFO] [stdout] 2026-01-16T03:01:57.951731Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=128 state=Established [INFO] [stdout] 2026-01-16T03:01:57.951758Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=696643784 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.951781Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=16 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.951785Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=696643784 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.950932Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.951810Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.952031Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.952024Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2783621660 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.952055Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=696643784 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.952065Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2783621660 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.952073Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=696643784 remote_addr=127.0.0.1:2001 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 100, source_cid: 696643784 } } [INFO] [stdout] 2026-01-16T03:01:57.952102Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.952113Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.952126Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=696643784 [INFO] [stdout] 2026-01-16T03:01:57.952132Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2783621660 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.952147Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2783621660 remote_addr=127.0.0.1:2002 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 200, source_cid: 2783621660 } } [INFO] [stdout] 2026-01-16T03:01:57.952154Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=696643784 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952190Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2783621660 [INFO] [stdout] 2026-01-16T03:01:57.951865Z  INFO kestrel_protocol::socket::tests::rebind: 连接建立,服务器看到的客户端地址: 127.0.0.1:43019 [INFO] [stdout] 2026-01-16T03:01:57.952212Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2783621660 state=Established [INFO] [stdout] 2026-01-16T03:01:57.950997Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=105 [INFO] [stdout] 2026-01-16T03:01:57.952257Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=105 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952311Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=5 [INFO] [stdout] 2026-01-16T03:01:57.952331Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952347Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.952369Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=28 [INFO] [stdout] 2026-01-16T03:01:57.952387Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952390Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=34 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.952452Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.952492Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.952529Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=34 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.952528Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.952572Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=114 [INFO] [stdout] 2026-01-16T03:01:57.952594Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=114 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952605Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.952609Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.952623Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=13 [INFO] [stdout] 2026-01-16T03:01:57.952627Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=34 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.952633Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3585194834 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.952640Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:57.952673Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.952684Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952695Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.952711Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.952713Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=110 [INFO] [stdout] 2026-01-16T03:01:57.952728Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=110 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952726Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=134 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.952750Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=134 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.952753Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3610048041 remote_addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.952774Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.952775Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=33 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 33, source_cid: 133 } } [INFO] [stdout] 2026-01-16T03:01:57.952783Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.952798Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=134 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.952810Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=134 remote_addr=127.0.0.1:9033 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 34, source_cid: 134 } } [INFO] [stdout] 2026-01-16T03:01:57.952857Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:57.952857Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.952879Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:57.952886Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=3610048041 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.952907Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 33, source_cid: 133 } } [INFO] [stdout] 2026-01-16T03:01:57.952935Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=33 peer_cid=133 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.952940Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 34 } } [INFO] [stdout] 2026-01-16T03:01:57.952952Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3610048041 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.952969Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.952987Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.952986Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=34 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 34, source_cid: 134 } } [INFO] [stdout] 2026-01-16T03:01:57.952991Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3610048041 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.953004Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.953004Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 34, source_cid: 134 } } [INFO] [stdout] 2026-01-16T03:01:57.953011Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:45201 cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.953022Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=34 peer_cid=134 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.953039Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.953048Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:45201 cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.953054Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=33 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.953064Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.953070Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3610048041 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.953071Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=33 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.953081Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.953090Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=33 peer_cid=133 [INFO] [stdout] 2026-01-16T03:01:57.953113Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.953108Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=33 frame=Push { header: ShortHeader { command: Push, connection_id: 33, payload_length: 4, recv_window_size: 256, timestamp: 29, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.953123Z  INFO kestrel_protocol::core::tests::state: [Server] Conn A accepted and dropped. [INFO] [stdout] 2026-01-16T03:01:57.953125Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=34 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.953138Z  INFO kestrel_protocol::core::tests::state: [Server] Waiting for conn B [INFO] [stdout] 2026-01-16T03:01:57.953131Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 33, payload_length: 4, recv_window_size: 256, timestamp: 29, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.953142Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=34 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.953152Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=33 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953159Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=34 peer_cid=134 [INFO] [stdout] 2026-01-16T03:01:57.953163Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3610048041 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.953171Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=33 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.953174Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=34 frame=Push { header: ShortHeader { command: Push, connection_id: 34, payload_length: 4, recv_window_size: 256, timestamp: 17, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.953185Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3610048041 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.953195Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 34, payload_length: 4, recv_window_size: 256, timestamp: 17, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.953210Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.953201Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 133, payload_length: 8, recv_window_size: 255, timestamp: 11, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.953212Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=34 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953221Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.953229Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=34 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.953233Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=33 [INFO] [stdout] 2026-01-16T03:01:57.953235Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=3610048041 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.953250Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=33 count=1 [INFO] [stdout] 2026-01-16T03:01:57.953250Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3610048041 remote_addr=127.0.0.1:45201 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3585194834, source_cid: 3610048041 } } [INFO] [stdout] 2026-01-16T03:01:57.953252Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 134, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.953276Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953282Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.953284Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=34 [INFO] [stdout] 2026-01-16T03:01:57.953298Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=34 count=1 [INFO] [stdout] 2026-01-16T03:01:57.953301Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3610048041 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953324Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953335Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:45201 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.953375Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:45201 frame_count=2 bytes=36 [INFO] [stdout] 2026-01-16T03:01:57.953449Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.953479Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=135 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.953476Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:46812 frame_count=2 bytes=36 [INFO] [stdout] test core::endpoint::timing::tests::test_global_timer_integration ... ok [INFO] [stdout] 2026-01-16T03:01:57.953548Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:46812 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.953607Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3585194834 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3585194834, source_cid: 3610048041 } } [INFO] [stdout] 2026-01-16T03:01:57.953630Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3585194834, source_cid: 3610048041 } } [INFO] [stdout] 2026-01-16T03:01:57.953647Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=3585194834 peer_cid=3610048041 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.953650Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=696643784 [INFO] [stdout] 2026-01-16T03:01:57.953689Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.953699Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2783621660 [INFO] [stdout] 2026-01-16T03:01:57.953707Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.953700Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=34 [INFO] [stdout] 2026-01-16T03:01:57.953706Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.953731Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.953739Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.953746Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.953747Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=136 remote_addr=127.0.0.1:9035 [INFO] [stdout] 2026-01-16T03:01:57.953752Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3585194834 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.953760Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.953772Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.953770Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3585194834 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.953783Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.953787Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=3585194834 peer_cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.953795Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.953806Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.953804Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3585194834 frame=Push { header: ShortHeader { command: Push, connection_id: 3585194834, payload_length: 5, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack_a" } [INFO] [stdout] 2026-01-16T03:01:57.953817Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.953848Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.953848Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 3585194834, payload_length: 5, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ack_a" } [INFO] [stdout] 2026-01-16T03:01:57.953869Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=3585194834 seq=0 payload_len=5 state=Established [INFO] [stdout] 2026-01-16T03:01:57.953886Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=3585194834 seq=0 payload_len=5 [INFO] [stdout] 2026-01-16T03:01:57.953920Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3585194834 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3610048041, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.953930Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.953947Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.953953Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.953863Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.953967Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=3585194834 count=1 [INFO] [stdout] 2026-01-16T03:01:57.953993Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3585194834 state=Established [INFO] [stdout] 2026-01-16T03:01:57.954025Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.954069Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.953955Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.953810Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.954126Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:38343) [INFO] [stdout] 2026-01-16T03:01:57.954159Z  INFO kestrel_protocol::core::tests::state: [Client] Received server ack for conn A [INFO] [stdout] 2026-01-16T03:01:57.954172Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.954178Z  INFO kestrel_protocol::core::tests::state: [Client] Conn A shut down. [INFO] [stdout] 2026-01-16T03:01:57.954188Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.954188Z  INFO kestrel_protocol::core::tests::state: [Client] Waiting for CID to be drained on server... [INFO] [stdout] 2026-01-16T03:01:57.953988Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.954215Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.954223Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.954274Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=3585194834 current_state=Established [INFO] [stdout] 2026-01-16T03:01:57.954293Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3585194834 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.954315Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.954227Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.954330Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=0 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.954364Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3585194834 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 3610048041, payload_length: 0, recv_window_size: 256, timestamp: 4064, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.954393Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.954412Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3585194834 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.954357Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.954448Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.954452Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.954131Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.954502Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.954551Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3610048041 frame=Ack { header: ShortHeader { command: Ack, connection_id: 3610048041, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.954576Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 3610048041, payload_length: 8, recv_window_size: 255, timestamp: 64, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.954604Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=3610048041 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] test socket::tests::test_actor_concurrent_write_sends_to_correct_addresses ... ok [INFO] [stdout] 2026-01-16T03:01:57.954332Z TRACE mio::poll: registering event source with poller: token=Token(123778273171200), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.954667Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定地址 | Transport manager rebinding address new_addr=127.0.0.1:0 [INFO] [stdout] 2026-01-16T03:01:57.954705Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.954724Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.954722Z TRACE mio::poll: registering event source with poller: token=Token(123777333600768), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.954758Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.954538Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.955150Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955052Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.955165Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.955174Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.955191Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:47655) [INFO] [stdout] 2026-01-16T03:01:57.955227Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.955248Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.955171Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.955279Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955292Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955310Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.955320Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.955333Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:38885) [INFO] [stdout] 2026-01-16T03:01:57.955282Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.955393Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.955403Z TRACE mio::poll: registering event source with poller: token=Token(123778675829632), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.955412Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.955434Z TRACE mio::poll: registering event source with poller: token=Token(123776998065152), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.955393Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=34 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 134, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" } [INFO] [stdout] 2026-01-16T03:01:57.955454Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955470Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Established [INFO] [stdout] 2026-01-16T03:01:57.955604Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955603Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=4168812517 [INFO] [stdout] 2026-01-16T03:01:57.955619Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.955617Z TRACE mio::poll: registering event source with poller: token=Token(123776998161536), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.955630Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.955643Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:34804) [INFO] [stdout] 2026-01-16T03:01:57.955648Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=4168812517 remote_addr=127.0.0.1:38343 [INFO] [stdout] 2026-01-16T03:01:57.955686Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.955703Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.955713Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.955718Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955741Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955740Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=4168812517 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.955751Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=35 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.955790Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.955807Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.955815Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.955858Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=4168812517 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.955863Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=35 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.955925Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=4168812517 addr=127.0.0.1:38343 [INFO] [stdout] 2026-01-16T03:01:57.955929Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.955940Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.955950Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=35 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.955956Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=4168812517 addr=127.0.0.1:38343 [INFO] [stdout] 2026-01-16T03:01:57.955974Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.955993Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:38343 cid=4168812517 [INFO] [stdout] 2026-01-16T03:01:57.956001Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.956014Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.956009Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.956018Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=4168812517 remote_addr=127.0.0.1:38343 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 4168812517 } } [INFO] [stdout] 2026-01-16T03:01:57.956047Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4168812517 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.956040Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 35 } } [INFO] [stdout] 2026-01-16T03:01:57.956056Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:57.956058Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1477197785 remote_addr=127.0.0.1:47655 [INFO] [stdout] 2026-01-16T03:01:57.956072Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.956101Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.956097Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:38343 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.956123Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.956123Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.956144Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=136 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.956144Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:38343 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.956149Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1477197785 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.954894Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.954865Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.956201Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:33833 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:57.956239Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.956269Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1477197785 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.956301Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:4001 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.956334Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1477197785 addr=127.0.0.1:47655 [INFO] [stdout] 2026-01-16T03:01:57.956341Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:4001 [INFO] [stdout] 2026-01-16T03:01:57.956367Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1477197785 addr=127.0.0.1:47655 [INFO] [stdout] 2026-01-16T03:01:57.956367Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.956403Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:47655 cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.956421Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1799614974 [INFO] [stdout] 2026-01-16T03:01:57.956420Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=137 remote_addr=127.0.0.1:9036 [INFO] [stdout] 2026-01-16T03:01:57.956428Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1477197785 remote_addr=127.0.0.1:47655 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1477197785 } } [INFO] [stdout] 2026-01-16T03:01:57.954546Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.956460Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1799614974 remote_addr=127.0.0.1:4001 [INFO] [stdout] 2026-01-16T03:01:57.954968Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.956498Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:38885 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.956514Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.956527Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.956556Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1799614974 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.956574Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:38885 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.954906Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定完成 | Transport manager rebind completed actual_addr=127.0.0.1:38654 [INFO] [stdout] 2026-01-16T03:01:57.956595Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:38885 [INFO] [stdout] 2026-01-16T03:01:57.956607Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1020693366 [INFO] [stdout] 2026-01-16T03:01:57.956641Z DEBUG kestrel_protocol::socket::transport::sender: Transport sender task is swapping to a new transport [INFO] [stdout] 2026-01-16T03:01:57.956644Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1020693366 remote_addr=127.0.0.1:38885 [INFO] [stdout] 2026-01-16T03:01:57.956643Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1799614974 addr=127.0.0.1:4001 [INFO] [stdout] 2026-01-16T03:01:57.956680Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1799614974 addr=127.0.0.1:4001 [INFO] [stdout] 2026-01-16T03:01:57.956697Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor has shut down [INFO] [stdout] 2026-01-16T03:01:57.956709Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:4001 cid=1799614974 [INFO] [stdout] 2026-01-16T03:01:57.956708Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.956735Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1020693366 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.956749Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] 2026-01-16T03:01:57.956763Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:57.956487Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 1200, recv_window_size: 256, timestamp: 14, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.956766Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:4001 cid=1799614974 [INFO] [stdout] 2026-01-16T03:01:57.956792Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.956791Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1799614974 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.956817Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1020693366 addr=127.0.0.1:38885 [INFO] [stdout] 2026-01-16T03:01:57.956871Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1020693366 addr=127.0.0.1:38885 [INFO] [stdout] 2026-01-16T03:01:57.956892Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:38885 cid=1020693366 [INFO] [stdout] 2026-01-16T03:01:57.956928Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:38885 cid=1020693366 [INFO] [stdout] 2026-01-16T03:01:57.956460Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1477197785 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.956950Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1020693366 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.957001Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:47655 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.957008Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3602456262 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.957038Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定地址 | Transport manager rebinding address new_addr=127.0.0.1:0 [INFO] [stdout] 2026-01-16T03:01:57.957038Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3602456262 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.957048Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:47655 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.957074Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.957087Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.956794Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=32 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 132, payload_length: 640, recv_window_size: 256, timestamp: 14, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f\x1f" } [INFO] [stdout] 2026-01-16T03:01:57.957089Z TRACE mio::poll: registering event source with poller: token=Token(123778273370880), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.957102Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=3602456262 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.957117Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3602456262 remote_addr=127.0.0.1:1001 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 123, source_cid: 3602456262 } } [INFO] [stdout] 2026-01-16T03:01:57.957123Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Established [INFO] [stdout] 2026-01-16T03:01:57.957149Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:34804 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.957159Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3602456262 [INFO] [stdout] 2026-01-16T03:01:57.957184Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3602456262 state=Established [INFO] [stdout] 2026-01-16T03:01:57.957245Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:34804 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.957249Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定完成 | Transport manager rebind completed actual_addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.957265Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:34804 [INFO] [stdout] 2026-01-16T03:01:57.957280Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.957292Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.957311Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.957307Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.957313Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=901985401 remote_addr=127.0.0.1:34804 [INFO] [stdout] 2026-01-16T03:01:57.957339Z DEBUG kestrel_protocol::socket::transport::sender: Transport sender task is swapping to a new transport [INFO] [stdout] 2026-01-16T03:01:57.957345Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=36 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.957361Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3602456262 [INFO] [stdout] 2026-01-16T03:01:57.957371Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.957379Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] 2026-01-16T03:01:57.957392Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:57.957390Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.957395Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=901985401 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.957417Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor has shut down [INFO] [stdout] 2026-01-16T03:01:57.957434Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.957446Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.957463Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=36 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.957470Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=901985401 addr=127.0.0.1:34804 [INFO] [stdout] 2026-01-16T03:01:57.957483Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.957498Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=901985401 addr=127.0.0.1:34804 [INFO] [stdout] 2026-01-16T03:01:57.957516Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:34804 cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.957548Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.957550Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.957557Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:34804 cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.957580Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=901985401 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.957579Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=36 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.957579Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=137 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.957606Z TRACE mio::poll: registering event source with poller: token=Token(123778273150464), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.957627Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.954899Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.957669Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1477197785 current_state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.957691Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1477197785 from="Connecting" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.957702Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=135 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.957714Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.957734Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.957729Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=135 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.957747Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.957760Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.957771Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.957766Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1477197785 remote_addr=127.0.0.1:47655 frame_count=2 first_frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 13, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"before rebind" } [INFO] [stdout] 2026-01-16T03:01:57.957808Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.957848Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1477197785 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.957885Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:47655 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.957929Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:47655 frame_count=2 bytes=55 [INFO] [stdout] 2026-01-16T03:01:57.957938Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=136 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.957965Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=136 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.957992Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.958003Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.958011Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.958018Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=136 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.958017Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:34804 frame_count=2 bytes=55 [INFO] [stdout] 2026-01-16T03:01:57.958034Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=136 remote_addr=127.0.0.1:9035 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 36, source_cid: 136 } } [INFO] [stdout] 2026-01-16T03:01:57.958040Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=138 remote_addr=127.0.0.1:9037 [INFO] [stdout] 2026-01-16T03:01:57.958066Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:34804 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.958070Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:57.945812Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.958121Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=901985401 frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 13, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"before rebind" } [INFO] [stdout] 2026-01-16T03:01:57.958136Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.958148Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 13, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"before rebind" } [INFO] [stdout] 2026-01-16T03:01:57.958154Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.958168Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=901985401 seq=0 payload_len=13 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.958186Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in SynReceived state (0-RTT data) cid=901985401 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.958204Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=901985401 frame=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.958221Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.958240Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=901985401 seq=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.958256Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in SynReceived state (0-RTT close) cid=901985401 seq=1 [INFO] [stdout] 2026-01-16T03:01:57.954624Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.958265Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.958744Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=901985401 remote_addr=127.0.0.1:34804 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1477197785, payload_length: 8, recv_window_size: 254, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.958341Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.958761Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=3610048041 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.958373Z  INFO kestrel_protocol::socket::tests::rebind: 客户端从 127.0.0.1:43019 rebind到 127.0.0.1:38654 [INFO] [stdout] 2026-01-16T03:01:57.958786Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=901985401 current_state=SynReceived target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.958803Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=901985401 from="SynReceived" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.958814Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.958820Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.958593Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.958555Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=135 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.958864Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.958873Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.958874Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=135 remote_addr=127.0.0.1:9034 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 35, source_cid: 135 } } [INFO] [stdout] 2026-01-16T03:01:57.958885Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:50421) [INFO] [stdout] 2026-01-16T03:01:57.958911Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:57.958936Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:57.958930Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=2260769620 current_state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.958945Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.958938Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1799614974 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.958966Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.958967Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1799614974 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.958960Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.958979Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2260769620 from="Connecting" to="Closing" [INFO] [stdout] 2026-01-16T03:01:57.958996Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.959005Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959007Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.959011Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.959023Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=1799614974 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.959062Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.959061Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1799614974 remote_addr=127.0.0.1:4001 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 500, source_cid: 1799614974 } } [INFO] [stdout] 2026-01-16T03:01:57.959077Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.959081Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=2456685202 [INFO] [stdout] 2026-01-16T03:01:57.959108Z TRACE mio::poll: registering event source with poller: token=Token(123777803383936), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.959100Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2260769620 remote_addr=127.0.0.1:58125 frame_count=2 first_frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 24, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"test after client rebind" } [INFO] [stdout] 2026-01-16T03:01:57.959125Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2456685202 remote_addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.959145Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:57.959171Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.959188Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.959212Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:58125 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.959217Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2456685202 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.959239Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:57.959265Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:57.959261Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:58125 frame_count=2 bytes=66 [INFO] [stdout] 2026-01-16T03:01:57.959283Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.959307Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2456685202 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.959319Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959344Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.959354Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.959370Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:57059) [INFO] [stdout] 2026-01-16T03:01:57.959382Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1799614974 [INFO] [stdout] 2026-01-16T03:01:57.959387Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=2456685202 addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.959386Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:38654 frame_count=2 bytes=66 [INFO] [stdout] 2026-01-16T03:01:57.959415Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1799614974 state=Established [INFO] [stdout] 2026-01-16T03:01:57.959416Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=2456685202 addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.959419Z TRACE mio::poll: registering event source with poller: token=Token(123777803438720), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.958354Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959450Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:38654 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.959454Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1799614974 [INFO] [stdout] 2026-01-16T03:01:57.958092Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:57.959477Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=37 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.959484Z DEBUG kestrel_protocol::socket::event_loop::routing: 缓存早到的PUSH帧 127.0.0.1:38654 CID 0 | Cached early arrival PUSH frame from 127.0.0.1:38654 with CID 0 [INFO] [stdout] 2026-01-16T03:01:57.959517Z DEBUG kestrel_protocol::socket::event_loop::routing: 早到帧已缓存 | Early arrival frame cached cid=0 addr=127.0.0.1:38654 cache_key=9526076046403109822 [INFO] [stdout] 2026-01-16T03:01:57.959542Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 36 } } [INFO] [stdout] 2026-01-16T03:01:57.959550Z DEBUG kestrel_protocol::socket::event_loop::routing: 忽略来自未知源的非SYN数据包 127.0.0.1:38654 不可路由CID 0: Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 1, recv_next_sequence: 0 } } | Ignoring non-SYN packet from unknown source 127.0.0.1:38654 with unroutable CID 0: Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.959560Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.959580Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Connecting [INFO] [stdout] test socket::tests::test_actor_sends_to_correct_address_after_accept ... 2026-01-16T03:01:57.959602Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=36 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 36, source_cid: 136 } } [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.959642Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 36, source_cid: 136 } } [INFO] [stdout] 2026-01-16T03:01:57.959664Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=36 peer_cid=136 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.959692Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959721Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.959728Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.959752Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=37 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.959780Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959798Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.959786Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.959807Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.959809Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.959820Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:38976) [INFO] [stdout] 2026-01-16T03:01:57.959849Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=37 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.959856Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.959875Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.959892Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.959899Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.959906Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.959919Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959919Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=36 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.959939Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=36 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.959940Z TRACE mio::poll: registering event source with poller: token=Token(123776595420032), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.959951Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:57.959957Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=36 peer_cid=136 [INFO] [stdout] 2026-01-16T03:01:57.959970Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:57.959973Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=36 frame=Push { header: ShortHeader { command: Push, connection_id: 36, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.959981Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.959998Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.959993Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 36, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.960011Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=36 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960019Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:57.960027Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=36 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.960035Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960044Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.960050Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 136, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.960076Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=36 [INFO] [stdout] 2026-01-16T03:01:57.960091Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=36 count=1 [INFO] [stdout] 2026-01-16T03:01:57.960105Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.960116Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960140Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.960158Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=106 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.960195Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=105 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.960205Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=36 [INFO] [stdout] 2026-01-16T03:01:57.960228Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.960241Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.960246Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.960253Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.960259Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.960265Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.960279Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.960290Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.960300Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.960300Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:57.960311Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.960319Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960322Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.960321Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.960349Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:57.960365Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] test socket::transport::udp::tests::test_local_addr_methods ... ok [INFO] [stdout] 2026-01-16T03:01:57.960337Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.960456Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=137 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.960479Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.960537Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=138 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.960459Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 1, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.960544Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.960618Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 37 } } [INFO] [stdout] 2026-01-16T03:01:57.960565Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 2, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.960651Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.960653Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=106 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] test socket::tests::test_socket_local_addr ... ok [INFO] [stdout] 2026-01-16T03:01:57.960709Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:57.960727Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960665Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 3, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.960757Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=113 [INFO] [stdout] 2026-01-16T03:01:57.960772Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=113 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960842Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.960861Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:57.960771Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 4, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.960882Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960915Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:57.960930Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.960958Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.960963Z TRACE mio::poll: registering event source with poller: token=Token(123777803428736), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.960996Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:57.960903Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 5, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.961012Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961040Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:57.961057Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961069Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.961084Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:57.961089Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.961099Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961130Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:57.961144Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961177Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:57.961196Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961229Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:57.961036Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 6, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.961248Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961295Z TRACE mio::poll: registering event source with poller: token=Token(123776595425408), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.961306Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=105 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.961262Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 7, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.961373Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=35 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 35, source_cid: 135 } } [INFO] [stdout] 2026-01-16T03:01:57.961404Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 35, source_cid: 135 } } [INFO] [stdout] 2026-01-16T03:01:57.961426Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=35 peer_cid=135 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.961386Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=36 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 136, payload_length: 640, recv_window_size: 256, timestamp: 2, sequence_number: 8, recv_next_sequence: 1 }, payload: b"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" } [INFO] [stdout] 2026-01-16T03:01:57.961459Z TRACE mio::poll: registering event source with poller: token=Token(123776595433600), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.961469Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961572Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:57.961598Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961639Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:57.961659Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961688Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.961705Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:57.961726Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961725Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.961737Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:53138 frame_count=1 bytes=28 [INFO] [stdout] 2026-01-16T03:01:57.961755Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=139 remote_addr=127.0.0.1:9038 [INFO] [stdout] 2026-01-16T03:01:57.961774Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.961800Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.961840Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.961912Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=984114638 frame=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 14, recv_window_size: 256, timestamp: 114, sequence_number: 1, recv_next_sequence: 2 }, payload: b"goodbye_server" } [INFO] [stdout] 2026-01-16T03:01:57.961944Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 984114638, payload_length: 14, recv_window_size: 256, timestamp: 114, sequence_number: 1, recv_next_sequence: 2 }, payload: b"goodbye_server" } [INFO] [stdout] 2026-01-16T03:01:57.961968Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=984114638 seq=1 payload_len=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961990Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=984114638 seq=1 payload_len=14 [INFO] [stdout] 2026-01-16T03:01:57.962026Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=984114638 remote_addr=127.0.0.1:35416 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 78, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.962037Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.962065Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.962083Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=984114638 count=1 [INFO] [stdout] 2026-01-16T03:01:57.962111Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.962151Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.962175Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.962199Z  INFO kestrel_protocol::core::tests::state: [Server] Received second client message [INFO] [stdout] 2026-01-16T03:01:57.962207Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=38 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.962245Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.959455Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:35137 cid=2456685202 [INFO] [stdout] 2026-01-16T03:01:57.962311Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.962302Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2456685202 remote_addr=127.0.0.1:35137 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 2456685202 } } [INFO] [stdout] 2026-01-16T03:01:57.962347Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=38 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.962354Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2456685202 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.960480Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=137 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.962391Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35137 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.962407Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.962407Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.962424Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.962428Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=38 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.962438Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35137 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.962453Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=137 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.962473Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.962470Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=137 remote_addr=127.0.0.1:9036 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 37, source_cid: 137 } } [INFO] [stdout] 2026-01-16T03:01:57.962493Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.962506Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:57.962514Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=139 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.962541Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=Established [INFO] [stdout] 2026-01-16T03:01:57.962620Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=33 [INFO] [stdout] 2026-01-16T03:01:57.962644Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=111 [INFO] [stdout] 2026-01-16T03:01:57.962652Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.962667Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.962668Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=111 state=Established [INFO] [stdout] 2026-01-16T03:01:57.962679Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.962690Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.962700Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.962710Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.962710Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3212018723 [INFO] [stdout] 2026-01-16T03:01:57.962721Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.962731Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.962741Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.962753Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3212018723 remote_addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.962814Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.962754Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 0, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.962863Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3212018723 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.962933Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.962958Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3212018723 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.962887Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 1, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.962968Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=110 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.963006Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3212018723 addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.963035Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3212018723 addr=127.0.0.1:35137 [INFO] [stdout] 2026-01-16T03:01:57.963040Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:57.963062Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:57.963070Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:35137 cid=3212018723 [INFO] [stdout] 2026-01-16T03:01:57.962994Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 2, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963093Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3212018723 remote_addr=127.0.0.1:35137 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3212018723 } } [INFO] [stdout] 2026-01-16T03:01:57.963122Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3212018723 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.963153Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35137 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.963097Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 3, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963198Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35137 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.963204Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 4, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963315Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=138 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.963344Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=138 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.963371Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.963385Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.963308Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 5, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963398Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=138 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.963414Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=138 remote_addr=127.0.0.1:9037 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 38, source_cid: 138 } } [INFO] [stdout] 2026-01-16T03:01:57.963448Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=138 [INFO] [stdout] 2026-01-16T03:01:57.963446Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2456685202 [INFO] [stdout] 2026-01-16T03:01:57.963469Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=Established [INFO] [stdout] 2026-01-16T03:01:57.963412Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 6, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963545Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.963544Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 38 } } [INFO] [stdout] 2026-01-16T03:01:57.963576Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.963588Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=4168812517 [INFO] [stdout] 2026-01-16T03:01:57.963516Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 1200, recv_window_size: 256, timestamp: 20, sequence_number: 7, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963627Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1020693366 [INFO] [stdout] 2026-01-16T03:01:57.963631Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=33 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 133, payload_length: 640, recv_window_size: 256, timestamp: 20, sequence_number: 8, recv_next_sequence: 1 }, payload: b" " } [INFO] [stdout] 2026-01-16T03:01:57.963685Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.963706Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Established [INFO] [stdout] 2026-01-16T03:01:57.963710Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.963752Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.963755Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.963772Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=35 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.963791Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=35 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.963814Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=35 peer_cid=135 [INFO] [stdout] 2026-01-16T03:01:57.963813Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.963856Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=35 frame=Push { header: ShortHeader { command: Push, connection_id: 35, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.963882Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 35, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.963902Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=35 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.961818Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.963921Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=35 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.963949Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 135, payload_length: 8, recv_window_size: 255, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.963965Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:41181 frame_count=1 bytes=28 [INFO] [stdout] 2026-01-16T03:01:57.963999Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=35 [INFO] [stdout] 2026-01-16T03:01:57.964017Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=35 count=1 [INFO] [stdout] 2026-01-16T03:01:57.964020Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:41181 frame_count=1 bytes=28 [INFO] [stdout] 2026-01-16T03:01:57.964045Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Established [INFO] [stdout] 2026-01-16T03:01:57.962241Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35416 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.964107Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964147Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=4014 srtt_ms=4014 rttvar_ms=2007 rto_ms=12042 [INFO] [stdout] 2026-01-16T03:01:57.964167Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.964179Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.964178Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.964204Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.964207Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.964214Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=901985401 count=1 [INFO] [stdout] 2026-01-16T03:01:57.964227Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3610048041 state=Established [INFO] [stdout] 2026-01-16T03:01:57.964228Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=984114638 remote_addr=127.0.0.1:35416 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 14, recv_window_size: 256, timestamp: 78, sequence_number: 2, recv_next_sequence: 2 }, payload: b"goodbye_client" } [INFO] [stdout] 2026-01-16T03:01:57.964252Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.964261Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.964270Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=901985401 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.964289Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.964301Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964312Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:34804 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964338Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:35416 frame_count=1 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.964350Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:34804 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.964397Z  INFO kestrel_protocol::core::tests::state: [Client] Connecting B... [INFO] [stdout] 2026-01-16T03:01:57.964431Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:44817 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.964440Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.964471Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:47655 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.964480Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:44817 frame_count=1 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.964508Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=4064 slots_to_advance=406 max_advance=406 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.964547Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.964571Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.964575Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:47655 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964610Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964623Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=4064 slots_to_advance=406 max_advance=406 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.964626Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1477197785 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1477197785, payload_length: 8, recv_window_size: 254, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.964641Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964658Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1477197785, payload_length: 8, recv_window_size: 254, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.964683Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1477197785 recv_next_seq=0 recv_window=254 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.964681Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 78, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.964706Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.964715Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1149674157, payload_length: 8, recv_window_size: 255, timestamp: 78, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:57.964723Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964724Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1477197785 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=254 [INFO] [stdout] 2026-01-16T03:01:57.964741Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1149674157 recv_next_seq=1 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.964764Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.964768Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.964780Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1149674157 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.964791Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=1 [INFO] [stdout] 2026-01-16T03:01:57.964795Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.964806Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=1 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964853Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=6 srtt_ms=6 rttvar_ms=3 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.964875Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.964875Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:57.964888Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.964907Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.964905Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.964929Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.964928Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=50 srtt_ms=50 rttvar_ms=18 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.964948Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.964947Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.964946Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3164430137 remote_addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.964961Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:57.964969Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1477197785 remote_addr=127.0.0.1:47655 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 8, sequence_number: 2, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:57.964984Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1149674157 frame=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 14, recv_window_size: 256, timestamp: 78, sequence_number: 2, recv_next_sequence: 2 }, payload: b"goodbye_client" } [INFO] [stdout] 2026-01-16T03:01:57.965008Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1477197785 state=Closing [INFO] [stdout] 2026-01-16T03:01:57.965010Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1149674157, payload_length: 14, recv_window_size: 256, timestamp: 78, sequence_number: 2, recv_next_sequence: 2 }, payload: b"goodbye_client" } [INFO] [stdout] 2026-01-16T03:01:57.965018Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3610048041 frame=Fin { header: ShortHeader { command: Fin, connection_id: 3610048041, payload_length: 0, recv_window_size: 256, timestamp: 4064, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.965032Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1149674157 seq=2 payload_len=14 state=Established [INFO] [stdout] 2026-01-16T03:01:57.965047Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 3610048041, payload_length: 0, recv_window_size: 256, timestamp: 4064, sequence_number: 0, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:57.965054Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1149674157 seq=2 payload_len=14 [INFO] [stdout] 2026-01-16T03:01:57.965052Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:47655 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.965070Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=3610048041 seq=0 state=Established [INFO] [stdout] 2026-01-16T03:01:57.965088Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Established state cid=3610048041 seq=0 [INFO] [stdout] 2026-01-16T03:01:57.965079Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1149674157 remote_addr=127.0.0.1:44817 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 164, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.965115Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.965108Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:47655 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.965114Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3610048041 remote_addr=127.0.0.1:45201 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3585194834, payload_length: 8, recv_window_size: 255, timestamp: 4014, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.965129Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1149674157 count=1 [INFO] [stdout] 2026-01-16T03:01:57.965150Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.965155Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1149674157 state=Established [INFO] [stdout] 2026-01-16T03:01:57.965169Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3610048041 current_state=Established target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.965191Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3610048041 from="Established" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:57.965192Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:44817 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.965217Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.965224Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:34804 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:57.965236Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3610048041 state=FinWait [INFO] [stdout] 2026-01-16T03:01:57.965235Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:44817 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.965305Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=394 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.965329Z  INFO kestrel_protocol::core::tests::state: [Client] Communication test completed successfully [INFO] [stdout] 2026-01-16T03:01:57.965335Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3164430137 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.965382Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:35416 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.965387Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.965296Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定地址 | Transport manager rebinding address new_addr=127.0.0.1:0 [INFO] [stdout] 2026-01-16T03:01:57.965443Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:35416 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.965460Z TRACE mio::poll: registering event source with poller: token=Token(123778675830272), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.965474Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:45201 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.965493Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=984114638 frame=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 164, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.965529Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 984114638, payload_length: 8, recv_window_size: 255, timestamp: 164, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:57.963595Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=38 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 38, source_cid: 138 } } [INFO] [stdout] 2026-01-16T03:01:57.974040Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=984114638 recv_next_seq=2 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.974071Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.974096Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=984114638 recv_next_seq=2 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.974093Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 38, source_cid: 138 } } [INFO] [stdout] 2026-01-16T03:01:57.974137Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=38 peer_cid=138 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.974158Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=2 [INFO] [stdout] 2026-01-16T03:01:57.974185Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=2 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.974209Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=136 srtt_ms=29 rttvar_ms=34 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.974228Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.974232Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=35 [INFO] [stdout] 2026-01-16T03:01:57.974248Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=34 new_cwnd=35 [INFO] [stdout] 2026-01-16T03:01:57.974255Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.974280Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=984114638 [INFO] [stdout] 2026-01-16T03:01:57.974304Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] test socket::tests::rebind::test_simple_rebind_new_connections ... ok [INFO] [stdout] test socket::tests::test_transport_layer_integration ... ok [INFO] [stdout] test socket::tests::test_actor_with_true_concurrent_handlers ... ok [INFO] [stdout] 2026-01-16T03:01:57.965643Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定完成 | Transport manager rebind completed actual_addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.965674Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:53138 frame_count=1 bytes=28 [INFO] [stdout] 2026-01-16T03:01:57.974650Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.974696Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.974748Z DEBUG kestrel_protocol::socket::transport::sender: Transport sender task is swapping to a new transport [INFO] [stdout] 2026-01-16T03:01:57.974803Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] test timer::event::lockfree_ring::tests::test_optimized_dispatcher ... 2026-01-16T03:01:57.965561Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=334 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.966183Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=35 [INFO] [stdout] 2026-01-16T03:01:57.974887Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3164430137 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.973969Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.974944Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] 2026-01-16T03:01:57.974965Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:57.975012Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor has shut down [INFO] [stdout] 2026-01-16T03:01:57.975009Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3164430137 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.975036Z DEBUG kestrel_protocol::socket::event_loop::routing: 相同地址存在旧连接,移除旧连接 | Old connection exists for same address, removing old connection old_cid=3585194834 new_cid=3164430137 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.975043Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.975064Z DEBUG kestrel_protocol::socket::event_loop::routing: 移除连接的地址映射 | Removed address mapping for connection cid=3585194834 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.975087Z DEBUG kestrel_protocol::socket::event_loop::routing: 清理连接状态完成,CID现在处于 draining 状态 | Cleaned up connection state. CID is now in draining state. cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.975087Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.975108Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3164430137 addr=127.0.0.1:46812 [INFO] [stdout] 2026-01-16T03:01:57.975127Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=39 remote_addr=127.0.0.1:8000 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.975185Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:46812 cid=3164430137 [INFO] [stdout] test timer::event::lockfree_ring::tests::test_ring_buffer_basic_operations ... ok [INFO] [stdout] 2026-01-16T03:01:57.975228Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3164430137 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3164430137 } } [INFO] [stdout] test timer::event::lockfree_ring::tests::test_ring_buffer_batch_operations ... ok [INFO] [stdout] 2026-01-16T03:01:57.975269Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3164430137 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.975322Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.966027Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:57.975380Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=10 [INFO] [stdout] test timer::event::memory_pool::tests::test_optimized_batch_processor ... ok [INFO] [stdout] 2026-01-16T03:01:57.975407Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:57.975486Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=37 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 37, source_cid: 137 } } [INFO] [stdout] 2026-01-16T03:01:57.975520Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 37, source_cid: 137 } } [INFO] [stdout] 2026-01-16T03:01:57.975547Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=37 peer_cid=137 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.975549Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.975615Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.975615Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:46812 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.975638Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.975668Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.974899Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] test timer::event::lockfree_ring::tests::test_ring_buffer_capacity_behavior ... ok [INFO] [stdout] 2026-01-16T03:01:57.974817Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:57.975751Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.975771Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.975783Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.975790Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor has shut down [INFO] [stdout] 2026-01-16T03:01:57.975795Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.975806Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.975817Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.975840Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.975849Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.975862Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.976053Z TRACE mio::poll: registering event source with poller: token=Token(123778675832960), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:57.975880Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.976245Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.976259Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:57.976094Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.976278Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:57.976292Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:45032) [INFO] [stdout] 2026-01-16T03:01:57.976362Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:57.976380Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:57.976423Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.976287Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.976479Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1001247861 [INFO] [stdout] 2026-01-16T03:01:57.976522Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1001247861 remote_addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.976582Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=3223162455 [INFO] [stdout] 2026-01-16T03:01:57.976617Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=3223162455 remote_addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.976471Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.976672Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.976702Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1001247861 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.976748Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.976768Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3223162455 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.976669Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.976864Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.976888Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1001247861 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.976933Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.976954Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3223162455 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.977016Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1001247861 addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.976869Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.977053Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1001247861 addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.977096Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=3223162455 addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.977117Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=3223162455 addr=127.0.0.1:52578 [INFO] [stdout] 2026-01-16T03:01:57.977144Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:52578 cid=1001247861 [INFO] [stdout] 2026-01-16T03:01:57.977168Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1001247861 remote_addr=127.0.0.1:52578 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1001247861 } } [INFO] [stdout] 2026-01-16T03:01:57.977200Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1001247861 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.977055Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.977225Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:52578 cid=3223162455 [INFO] [stdout] 2026-01-16T03:01:57.977242Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3223162455 remote_addr=127.0.0.1:52578 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3223162455 } } [INFO] [stdout] 2026-01-16T03:01:57.977266Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3223162455 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.977317Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:52578 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.977344Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:52578 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.977386Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:52578 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.977233Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 1200, recv_window_size: 256, timestamp: 19, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.977414Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:52578 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:57.977417Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=35 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 135, payload_length: 640, recv_window_size: 256, timestamp: 19, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"" } [INFO] [stdout] 2026-01-16T03:01:57.977548Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Established [INFO] [stdout] 2026-01-16T03:01:57.977618Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.977673Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.975676Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.977871Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=38 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.977889Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=37 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.977901Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=38 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.977918Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=37 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.977924Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=38 peer_cid=138 [INFO] [stdout] 2026-01-16T03:01:57.977940Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=37 peer_cid=137 [INFO] [stdout] 2026-01-16T03:01:57.977948Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=38 frame=Push { header: ShortHeader { command: Push, connection_id: 38, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.977960Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=37 frame=Push { header: ShortHeader { command: Push, connection_id: 37, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.977976Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 38, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.977989Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 37, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.977997Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=38 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.978010Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=37 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.978017Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=38 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.978030Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=37 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.978046Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 138, payload_length: 8, recv_window_size: 255, timestamp: 15, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.978061Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 137, payload_length: 8, recv_window_size: 255, timestamp: 18, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.978080Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:57.978098Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=38 count=1 [INFO] [stdout] 2026-01-16T03:01:57.978101Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:57.978122Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=37 count=1 [INFO] [stdout] 2026-01-16T03:01:57.978131Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:57.978207Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.978238Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.978262Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=39 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.978274Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:57.978305Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.978319Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.978332Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.978343Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.978353Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.978352Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.978364Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.978375Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.978375Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=39 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.978386Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.978397Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.978476Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=139 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.978412Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 0, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.978501Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=139 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.978531Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.978542Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.978556Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=139 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.978571Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=139 remote_addr=127.0.0.1:9038 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 39, source_cid: 139 } } [INFO] [stdout] 2026-01-16T03:01:57.978599Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=139 [INFO] [stdout] 2026-01-16T03:01:57.978616Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=Established [INFO] [stdout] 2026-01-16T03:01:57.978536Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 1, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.978678Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 39 } } [INFO] [stdout] 2026-01-16T03:01:57.978705Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.978720Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=39 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 39, source_cid: 139 } } [INFO] [stdout] 2026-01-16T03:01:57.978648Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 2, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.974901Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.978785Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 3, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.978738Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 39, source_cid: 139 } } [INFO] [stdout] 2026-01-16T03:01:57.978969Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=39 peer_cid=139 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.978905Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 4, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.979024Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.979066Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.979098Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.979109Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=39 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.979125Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=39 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.979140Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=39 peer_cid=139 [INFO] [stdout] 2026-01-16T03:01:57.979025Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 5, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.979156Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=39 frame=Push { header: ShortHeader { command: Push, connection_id: 39, payload_length: 4, recv_window_size: 256, timestamp: 16, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.979177Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 39, payload_length: 4, recv_window_size: 256, timestamp: 16, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.979193Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=39 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.979209Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=39 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.979230Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 139, payload_length: 8, recv_window_size: 255, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.979255Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:57.979162Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 6, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.979267Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=39 count=1 [INFO] [stdout] 2026-01-16T03:01:57.979298Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:57.979277Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 1200, recv_window_size: 256, timestamp: 16, sequence_number: 7, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.979383Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:57.979408Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.979420Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.979434Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.979388Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=38 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 138, payload_length: 640, recv_window_size: 256, timestamp: 16, sequence_number: 8, recv_next_sequence: 1 }, payload: b"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" } [INFO] [stdout] 2026-01-16T03:01:57.979444Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.979456Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.979465Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.979466Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:57.979476Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.979487Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.979496Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.979511Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] 2026-01-16T03:01:57.979628Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 1, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] 2026-01-16T03:01:57.979746Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=13 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:57.979735Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 2, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] test timer::event::pool::tests::test_batch_operations ... ok [INFO] [stdout] 2026-01-16T03:01:57.979867Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 3, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] test timer::event::pool::tests::test_pool_clone_ref ... ok [INFO] [stdout] 2026-01-16T03:01:57.980016Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.980066Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.979981Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 4, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] test timer::event::pool::tests::test_pool_with_capacity ... ok [INFO] [stdout] 2026-01-16T03:01:57.980103Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 5, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] test timer::event::pool::tests::test_timer_event_pool_basic_operations ... ok [INFO] [stdout] 2026-01-16T03:01:57.966133Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.980303Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=140 remote_addr=127.0.0.1:9039 [INFO] [stdout] test timer::event::traits::tests::test_batch_creation_clone_type ... ok [INFO] [stdout] 2026-01-16T03:01:57.980231Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 6, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] 2026-01-16T03:01:57.980388Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3164430137 state=Connecting [INFO] [stdout] test timer::event::traits::tests::test_batch_creation_copy_type ... ok [INFO] [stdout] 2026-01-16T03:01:57.980354Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 1200, recv_window_size: 256, timestamp: 4, sequence_number: 7, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] 2026-01-16T03:01:57.980444Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.980466Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.980487Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.980466Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=39 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 139, payload_length: 640, recv_window_size: 256, timestamp: 4, sequence_number: 8, recv_next_sequence: 1 }, payload: b"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" } [INFO] [stdout] 2026-01-16T03:01:57.980537Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2783023773 remote_addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.980554Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:57.972341Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] 2026-01-16T03:01:57.980582Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:57.980632Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=501 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.980660Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=140 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] test timer::event::traits::tests::test_clone_type_strategy_selection ... 2026-01-16T03:01:57.978148Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:57.980806Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:57.974313Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=984114638 state=Established [INFO] [stdout] 2026-01-16T03:01:57.980872Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=140 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.981011Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=95 slots_to_advance=9 max_advance=9 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:57.981055Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=3 [INFO] [stdout] 2026-01-16T03:01:57.980726Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.981204Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=901985401 [INFO] [stdout] 2026-01-16T03:01:57.981156Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.981334Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1477197785 [INFO] [stdout] 2026-01-16T03:01:57.981421Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.981487Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.981522Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1001247861 [INFO] [stdout] 2026-01-16T03:01:57.981664Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1149674157 [INFO] [stdout] 2026-01-16T03:01:57.981915Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:57.982794Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.982871Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=141 remote_addr=127.0.0.1:9040 [INFO] [stdout] 2026-01-16T03:01:57.983029Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.983115Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=394 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.983154Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2783023773 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.983202Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3164430137 frame=Ack { header: ShortHeader { command: Ack, connection_id: 3585194834, payload_length: 8, recv_window_size: 255, timestamp: 4014, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.983231Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 3585194834, payload_length: 8, recv_window_size: 255, timestamp: 4014, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.983267Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=3164430137 recv_next_seq=0 recv_window=255 payload_len=8 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.983290Z  WARN kestrel_protocol::core::endpoint::processing::processors::ack: Ignoring ACK frame in unexpected state cid=3164430137 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.983307Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.983322Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3164430137 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.983377Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=2783023773 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.983407Z DEBUG kestrel_protocol::socket::event_loop::routing: 相同地址存在旧连接,移除旧连接 | Old connection exists for same address, removing old connection old_cid=3610048041 new_cid=2783023773 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.983434Z DEBUG kestrel_protocol::socket::event_loop::routing: 移除连接的地址映射 | Removed address mapping for connection cid=3610048041 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.983453Z DEBUG kestrel_protocol::socket::event_loop::routing: 清理连接状态完成,CID现在处于 draining 状态 | Cleaned up connection state. CID is now in draining state. cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.983474Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=2783023773 addr=127.0.0.1:45201 [INFO] [stdout] 2026-01-16T03:01:57.983494Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:45201 cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.983539Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:45201 cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.983567Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2783023773 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.983626Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2783023773 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.983649Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2783023773 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.983678Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.984167Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.984198Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=2783023773 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.984208Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.984216Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2783023773 remote_addr=127.0.0.1:45201 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3164430137, source_cid: 2783023773 } } [INFO] [stdout] 2026-01-16T03:01:57.984241Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.984251Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.984257Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.984280Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.983878Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.983977Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.984113Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:57.984325Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:57.984350Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=40 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.984411Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.984456Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.984484Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=40 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.984553Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.984581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=40 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.984624Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.984658Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=141 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.984696Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=140 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.984723Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=140 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.984754Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.984764Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.984787Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=140 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.984803Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=140 remote_addr=127.0.0.1:9039 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 40, source_cid: 140 } } [INFO] [stdout] 2026-01-16T03:01:57.984857Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=140 [INFO] [stdout] 2026-01-16T03:01:57.984879Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=140 state=Established [INFO] [stdout] 2026-01-16T03:01:57.984883Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.984907Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=142 remote_addr=127.0.0.1:9041 [INFO] [stdout] 2026-01-16T03:01:57.984960Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 40 } } [INFO] [stdout] 2026-01-16T03:01:57.985001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.985022Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=40 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 40, source_cid: 140 } } [INFO] [stdout] 2026-01-16T03:01:57.985043Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 40, source_cid: 140 } } [INFO] [stdout] 2026-01-16T03:01:57.985063Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=40 peer_cid=140 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.984273Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2783023773 state=Established [INFO] [stdout] 2026-01-16T03:01:57.985109Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.985127Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.985131Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:45201 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.985162Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.985175Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=40 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.985176Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:45201 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.985193Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=40 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.985214Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=40 peer_cid=140 [INFO] [stdout] 2026-01-16T03:01:57.985231Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=40 frame=Push { header: ShortHeader { command: Push, connection_id: 40, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.985253Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 40, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.985282Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=40 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.985294Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:46812 frame_count=2 bytes=35 [INFO] [stdout] 2026-01-16T03:01:57.985302Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=40 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.985332Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 140, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.985342Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:46812 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:57.985362Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=40 [INFO] [stdout] 2026-01-16T03:01:57.985379Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=40 count=1 [INFO] [stdout] 2026-01-16T03:01:57.985387Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3164430137 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3164430137, source_cid: 2783023773 } } [INFO] [stdout] 2026-01-16T03:01:57.985410Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Established [INFO] [stdout] 2026-01-16T03:01:57.985409Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 3164430137, source_cid: 2783023773 } } [INFO] [stdout] 2026-01-16T03:01:57.985429Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=3164430137 peer_cid=2783023773 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.985473Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=4 [INFO] [stdout] 2026-01-16T03:01:57.985491Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=4 [INFO] [stdout] 2026-01-16T03:01:57.985532Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.985545Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=3164430137 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.985563Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.985564Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=3164430137 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.985588Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.985593Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=41 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.985605Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3164430137 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2783023773, payload_length: 4, recv_window_size: 256, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.985631Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.985640Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=3164430137 peer_cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.985656Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.985658Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3164430137 frame=Push { header: ShortHeader { command: Push, connection_id: 3164430137, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.985679Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=41 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.985682Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 3164430137, payload_length: 4, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"pong" } [INFO] [stdout] 2026-01-16T03:01:57.985702Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=3164430137 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.985721Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=3164430137 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.985738Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.985746Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=3164430137 remote_addr=127.0.0.1:46812 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2783023773, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.985758Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=41 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.985776Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.985791Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=3164430137 count=1 [INFO] [stdout] 2026-01-16T03:01:57.985807Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.985034Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.985894Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:57.985903Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.985929Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.985932Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:57.985941Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.985953Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.985964Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.986069Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=40 [INFO] [stdout] 2026-01-16T03:01:57.985978Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 0, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] 2026-01-16T03:01:57.986094Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.986108Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.986121Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.986132Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.986143Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.986154Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.986166Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.986176Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.986186Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.986110Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 1, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] 2026-01-16T03:01:57.986201Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.986236Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 2, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] test socket::tests::rebind::test_rebind_impact_on_existing_connection_data ... ok [INFO] [stdout] test core::tests::state::test_transport_bidirectional_communication ... ok [INFO] [stdout] 2026-01-16T03:01:57.986329Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.986368Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 3, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] test socket::transport::udp::tests::test_shutdown_stops_receiver ... ok [INFO] [stdout] 2026-01-16T03:01:57.986442Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] test timer::event::traits::tests::test_pool_usage_clone_type ... ok [INFO] [stdout] 2026-01-16T03:01:57.986490Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 4, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] test timer::event::traits::tests::test_copy_type_strategy_selection ... ok [INFO] [stdout] test socket::transport::udp::tests::test_send_and_recv_decoupled ... ok [INFO] [stdout] 2026-01-16T03:01:57.986568Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] test timer::event::traits::tests::test_pool_usage_copy_type ... ok [INFO] [stdout] 2026-01-16T03:01:57.986603Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 5, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_event_factory_batch_creation ... ok [INFO] [stdout] 2026-01-16T03:01:57.986677Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.986711Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 6, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_event_factory_copy_strategy ... ok [INFO] [stdout] 2026-01-16T03:01:57.986914Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.986955Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=142 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.986968Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=141 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.986997Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=141 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.987030Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.987041Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.987040Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 41 } } [INFO] [stdout] 2026-01-16T03:01:57.985817Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3164430137 state=Established [INFO] [stdout] 2026-01-16T03:01:57.987097Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.987054Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=141 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.987119Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=141 remote_addr=127.0.0.1:9040 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 41, source_cid: 141 } } [INFO] [stdout] 2026-01-16T03:01:57.987165Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=141 [INFO] [stdout] 2026-01-16T03:01:57.987185Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=Established [INFO] [stdout] 2026-01-16T03:01:57.986843Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 1200, recv_window_size: 256, timestamp: 21, sequence_number: 7, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] 2026-01-16T03:01:57.987508Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=37 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 137, payload_length: 640, recv_window_size: 256, timestamp: 21, sequence_number: 8, recv_next_sequence: 1 }, payload: b"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" } [INFO] [stdout] 2026-01-16T03:01:57.987612Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:57.987618Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_fast_event_slot_creation ... ok [INFO] [stdout] 2026-01-16T03:01:57.987683Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=25 [INFO] [stdout] 2026-01-16T03:01:57.987745Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.987778Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:46812 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.987911Z  INFO kestrel_protocol::core::tests::state: [Client] Conn B verified. [INFO] [stdout] 2026-01-16T03:01:57.987952Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=25 [INFO] [stdout] 2026-01-16T03:01:57.987994Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:45201 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.988039Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.988080Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.988120Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2783023773 frame=Push { header: ShortHeader { command: Push, connection_id: 2783023773, payload_length: 4, recv_window_size: 256, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.988153Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2783023773, payload_length: 4, recv_window_size: 256, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"ping" } [INFO] [stdout] 2026-01-16T03:01:57.988172Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2783023773 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.988189Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2783023773 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.988212Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2783023773 remote_addr=127.0.0.1:45201 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3164430137, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.988244Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2783023773 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2783023773, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.988263Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2783023773, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.988283Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2783023773 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.988303Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.988327Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2783023773 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.988371Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.988394Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.988415Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=32 srtt_ms=32 rttvar_ms=16 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.988437Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.988450Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.988468Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.988481Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2783023773 count=1 [INFO] [stdout] 2026-01-16T03:01:57.988508Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2783023773 state=Established [INFO] [stdout] 2026-01-16T03:01:57.988558Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:45201 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.988612Z  INFO kestrel_protocol::core::tests::state: [Server] Conn B verified [INFO] [stdout] 2026-01-16T03:01:57.988654Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:45201 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.988762Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:46812 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:57.988847Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:46812 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:57.988899Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=3164430137 frame=Ack { header: ShortHeader { command: Ack, connection_id: 3164430137, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.988923Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 3164430137, payload_length: 8, recv_window_size: 255, timestamp: 32, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.988941Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=3164430137 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:57.988960Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.988973Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=3164430137 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:57.989000Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:57.989016Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:57.989043Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=100 srtt_ms=100 rttvar_ms=50 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:57.989061Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.989072Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:57.989089Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3164430137 [INFO] [stdout] 2026-01-16T03:01:57.989106Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3164430137 state=Established [INFO] [stdout] 2026-01-16T03:01:57.989253Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.989367Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2783023773 [INFO] [stdout] 2026-01-16T03:01:57.989561Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:57.989613Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3585194834 [INFO] [stdout] 2026-01-16T03:01:57.989741Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.990026Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.990341Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=143 remote_addr=127.0.0.1:9042 [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_fast_event_slot_non_power_of_two ... ok [INFO] [stdout] 2026-01-16T03:01:57.990423Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=SynReceived [INFO] [stdout] test timer::event::performance_bench::bench_tests::test_lightweight_benchmark ... ok [INFO] [stdout] 2026-01-16T03:01:57.990539Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=41 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 41, source_cid: 141 } } [INFO] [stdout] test timer::event::traits::tests::test_strategy_traits_clone ... ok [INFO] [stdout] 2026-01-16T03:01:57.990566Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 41, source_cid: 141 } } [INFO] [stdout] 2026-01-16T03:01:57.990587Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=41 peer_cid=141 state=Connecting [INFO] [stdout] test timer::event::traits::tests::test_strategy_traits_copy ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_event_factory_performance ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_fast_event_slot_write_multiple ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_fast_event_slot_write_single ... ok [INFO] [stdout] 2026-01-16T03:01:57.990733Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.990765Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=42 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.990855Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.990900Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.990937Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=42 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.990998Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.991026Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=42 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.991119Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=142 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.991145Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=142 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.991175Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.991185Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.991215Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=142 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.990261Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.990648Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.991264Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.991322Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.991334Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=41 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.991352Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=41 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.991369Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=41 peer_cid=141 [INFO] [stdout] 2026-01-16T03:01:57.991387Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=41 frame=Push { header: ShortHeader { command: Push, connection_id: 41, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.991408Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 41, payload_length: 4, recv_window_size: 256, timestamp: 4, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.991427Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=41 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.991446Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=41 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.991478Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 141, payload_length: 8, recv_window_size: 255, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.991511Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=41 [INFO] [stdout] 2026-01-16T03:01:57.991529Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=41 count=1 [INFO] [stdout] 2026-01-16T03:01:57.991555Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Established [INFO] [stdout] 2026-01-16T03:01:57.991594Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 42 } } [INFO] [stdout] 2026-01-16T03:01:57.991635Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=42 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.991229Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=142 remote_addr=127.0.0.1:9041 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 42, source_cid: 142 } } [INFO] [stdout] 2026-01-16T03:01:57.991693Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=142 [INFO] [stdout] 2026-01-16T03:01:57.991715Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=Established [INFO] [stdout] 2026-01-16T03:01:57.991775Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.991810Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=143 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_memory_efficiency_no_cloning ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_batch_dispatcher_creation ... ok [INFO] [stdout] 2026-01-16T03:01:57.992555Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:57.992585Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:57.992762Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.992913Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.993029Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=40 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 140, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''" } [INFO] [stdout] 2026-01-16T03:01:57.993110Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Established [INFO] [stdout] 2026-01-16T03:01:57.993358Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.993392Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=144 remote_addr=127.0.0.1:9043 [INFO] [stdout] 2026-01-16T03:01:57.993506Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=41 [INFO] [stdout] 2026-01-16T03:01:57.993585Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3610048041 [INFO] [stdout] 2026-01-16T03:01:57.993627Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=3164430137 [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_batch_dispatcher_load_balancing ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_batch_dispatcher_single_batch ... ok [INFO] [stdout] 2026-01-16T03:01:57.993954Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.994086Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.994112Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.994126Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.994137Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.994147Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.994158Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.994168Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.994178Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.994189Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:57.994203Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994339Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 1, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994454Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 2, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994579Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 3, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994700Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 4, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994816Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 5, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.994952Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 6, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.995066Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 1200, recv_window_size: 256, timestamp: 7, sequence_number: 7, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.995185Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=41 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 141, payload_length: 640, recv_window_size: 256, timestamp: 7, sequence_number: 8, recv_next_sequence: 1 }, payload: b"((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" } [INFO] [stdout] 2026-01-16T03:01:57.995260Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Established [INFO] [stdout] 2026-01-16T03:01:57.995320Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=143 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.995439Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.995468Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=43 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.995505Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.995540Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.995565Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=43 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.995636Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.995660Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=43 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:57.995698Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.995717Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.995736Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=144 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.995871Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=143 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.995901Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=143 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.995931Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:57.995942Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.995956Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=143 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:57.995970Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=143 remote_addr=127.0.0.1:9042 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 43, source_cid: 143 } } [INFO] [stdout] 2026-01-16T03:01:57.996000Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=143 [INFO] [stdout] 2026-01-16T03:01:57.996020Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=143 state=Established [INFO] [stdout] 2026-01-16T03:01:57.996085Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 43 } } [INFO] [stdout] 2026-01-16T03:01:57.996589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.996612Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=43 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 43, source_cid: 143 } } [INFO] [stdout] 2026-01-16T03:01:57.996636Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 43, source_cid: 143 } } [INFO] [stdout] 2026-01-16T03:01:57.996657Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=43 peer_cid=143 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.996710Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.996729Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.996765Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.996777Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=43 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.996796Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=43 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.996815Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=43 peer_cid=143 [INFO] [stdout] 2026-01-16T03:01:57.996855Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=43 frame=Push { header: ShortHeader { command: Push, connection_id: 43, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.996878Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 43, payload_length: 4, recv_window_size: 256, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.996898Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=43 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.996914Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=43 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.996940Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 143, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.996971Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=43 [INFO] [stdout] 2026-01-16T03:01:57.996988Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=43 count=1 [INFO] [stdout] 2026-01-16T03:01:57.997011Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Established [INFO] [stdout] 2026-01-16T03:01:57.997106Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=43 [INFO] [stdout] 2026-01-16T03:01:57.997129Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:57.997142Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:57.997153Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:57.997163Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:57.997173Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:57.997183Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:57.997193Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:57.997203Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:57.997290Z DEBUG kestrel_protocol::core::reliability::retransmission::sack_manager: RTO retransmission triggered - reconstructing frame with fresh header seq=0 frame_type=Push updated_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.997320Z DEBUG kestrel_protocol::core::reliability::retransmission: Retransmission timeout detected by unified manager with frame reconstruction retx_count=1 current_peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:57.997337Z DEBUG kestrel_protocol::core::reliability::congestion::vegas: Congestive loss detected! New ssthresh: 16, New cwnd: 16 [INFO] [stdout] 2026-01-16T03:01:57.997349Z DEBUG kestrel_protocol::core::reliability: Congestion window reduced due to retransmissions old_cwnd=32 new_cwnd=16 count=1 [INFO] [stdout] 2026-01-16T03:01:57.997366Z DEBUG kestrel_protocol::core::reliability::retransmission::rtt: RTO backoff old_rto_ms=100 new_rto_ms=200 [INFO] [stdout] 2026-01-16T03:01:57.997386Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 158, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.997451Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:57.997471Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:57.997566Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 158, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.997593Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 13, recv_window_size: 256, timestamp: 158, sequence_number: 0, recv_next_sequence: 0 }, payload: b"rto test data" } [INFO] [stdout] 2026-01-16T03:01:57.997613Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.997631Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=13 [INFO] [stdout] 2026-01-16T03:01:57.997648Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:57.997664Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:57.997868Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.997897Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=145 remote_addr=127.0.0.1:9044 [INFO] [stdout] test core::tests::state::test_address_reuse_after_cid_drained ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_ref_event_handler_single ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_batch_dispatcher_multiple_batches ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_empty_batch ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_concurrent_dispatching ... ok [INFO] [stdout] 2026-01-16T03:01:57.998382Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:57.996482Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:57.999175Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:57.999259Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=42 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 42, source_cid: 142 } } [INFO] [stdout] 2026-01-16T03:01:57.999283Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 42, source_cid: 142 } } [INFO] [stdout] 2026-01-16T03:01:57.999302Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=42 peer_cid=142 state=Connecting [INFO] [stdout] 2026-01-16T03:01:57.999344Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.999360Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:57.999387Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:57.999398Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=42 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:57.999414Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=42 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:57.999431Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=42 peer_cid=142 [INFO] [stdout] 2026-01-16T03:01:57.999446Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=42 frame=Push { header: ShortHeader { command: Push, connection_id: 42, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.999465Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 42, payload_length: 4, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:57.999482Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=42 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:57.999498Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=42 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:57.999527Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 142, payload_length: 8, recv_window_size: 255, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:57.999557Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=42 [INFO] [stdout] 2026-01-16T03:01:57.999569Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=42 count=1 [INFO] [stdout] 2026-01-16T03:01:57.999590Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=42 state=Established [INFO] [stdout] 2026-01-16T03:01:57.999618Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=144 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:57.999726Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.999771Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=44 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:57.999807Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:57.999852Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:57.999876Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=44 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:57.999928Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:57.999947Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=44 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.000030Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.000063Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.000085Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=145 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.000326Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:58.000351Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000387Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:58.000405Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000437Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:58.000454Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000484Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:58.000499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000538Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:58.000555Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000590Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:58.000606Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000637Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.000655Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.000735Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=42 [INFO] [stdout] 2026-01-16T03:01:58.000771Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.000785Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.000751Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.000797Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.000808Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.000819Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.000850Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.000861Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.000872Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.000883Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.000898Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 0, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.001018Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 1, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.001129Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 2, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.001226Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 3, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.001332Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 4, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_performance_small_batch ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_single_event ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_performance_medium_batch ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_ref_event_handler_batch ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_max_batch_size ... ok [INFO] [stdout] 2026-01-16T03:01:58.016800Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_zero_copy_performance_large_batch ... ok [INFO] [stdout] test timer::parallel::tests::test_comprehensive_optimization_benchmark ... ignored [INFO] [stdout] 2026-01-16T03:01:58.017095Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.018641Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.019925Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:57.997213Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.021898Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022058Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022177Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022293Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022399Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022516Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022654Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022784Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.022926Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=43 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 143, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" } [INFO] [stdout] 2026-01-16T03:01:58.023024Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Established [INFO] [stdout] 2026-01-16T03:01:58.023234Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.023273Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=45 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.023330Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.023373Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.023405Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=45 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.023483Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.023510Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=45 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.023648Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 45 } } [INFO] [stdout] 2026-01-16T03:01:58.023703Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.023771Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.023918Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=144 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.023965Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=144 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.024004Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.024028Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.024057Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=144 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.024073Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=144 remote_addr=127.0.0.1:9043 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 44, source_cid: 144 } } [INFO] [stdout] 2026-01-16T03:01:58.024112Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=144 [INFO] [stdout] 2026-01-16T03:01:58.024148Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=144 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024226Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=133 [INFO] [stdout] 2026-01-16T03:01:58.024261Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024307Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:58.024335Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024375Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:58.024402Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024439Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.024458Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024493Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] 2026-01-16T03:01:58.024527Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] 2026-01-16T03:01:58.024591Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 44 } } [INFO] [stdout] 2026-01-16T03:01:58.024626Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.024649Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=44 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 44, source_cid: 144 } } [INFO] [stdout] 2026-01-16T03:01:58.024684Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 44, source_cid: 144 } } [INFO] [stdout] 2026-01-16T03:01:58.024708Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=44 peer_cid=144 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.024768Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.024790Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.024854Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.030546Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=44 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.030594Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=44 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.030621Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=44 peer_cid=144 [INFO] [stdout] 2026-01-16T03:01:58.030644Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=44 frame=Push { header: ShortHeader { command: Push, connection_id: 44, payload_length: 4, recv_window_size: 256, timestamp: 30, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.030670Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 44, payload_length: 4, recv_window_size: 256, timestamp: 30, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.030691Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=44 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.030711Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=44 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.030747Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 144, payload_length: 8, recv_window_size: 255, timestamp: 30, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.030781Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=44 [INFO] [stdout] 2026-01-16T03:01:58.030800Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=44 count=1 [INFO] [stdout] 2026-01-16T03:01:58.030853Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Established [INFO] [stdout] 2026-01-16T03:01:58.030973Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=44 [INFO] [stdout] 2026-01-16T03:01:58.030999Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.031013Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.031027Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.031038Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.031048Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.031059Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.031069Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.031080Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.031090Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.031104Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 0, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031222Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 1, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031332Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 2, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031446Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 3, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031562Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 4, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031663Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 5, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031768Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 6, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.031898Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 1200, recv_window_size: 256, timestamp: 31, sequence_number: 7, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.032000Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=44 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 144, payload_length: 640, recv_window_size: 256, timestamp: 31, sequence_number: 8, recv_next_sequence: 1 }, payload: b"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" } [INFO] [stdout] 2026-01-16T03:01:58.032071Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032372Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.032422Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=133 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.032471Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=107 [INFO] [stdout] 2026-01-16T03:01:58.032489Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032530Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:58.032566Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032604Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:58.032620Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032655Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:58.032673Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032702Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=112 [INFO] [stdout] 2026-01-16T03:01:58.032717Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032746Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:58.032761Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032791Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=6 [INFO] [stdout] 2026-01-16T03:01:58.032808Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032861Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=109 [INFO] [stdout] 2026-01-16T03:01:58.032880Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032914Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=108 [INFO] [stdout] 2026-01-16T03:01:58.032929Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:58.032960Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=104 [INFO] [stdout] 2026-01-16T03:01:58.032975Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=104 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033040Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=35 slots_to_advance=3 max_advance=3 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.033089Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:58.033107Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033140Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=10 [INFO] [stdout] 2026-01-16T03:01:58.033159Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=10 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033190Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=128 [INFO] [stdout] 2026-01-16T03:01:58.033205Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=128 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033428Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=131 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.033479Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=131 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.033530Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=105 [INFO] [stdout] 2026-01-16T03:01:58.033547Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=105 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033575Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=5 [INFO] [stdout] 2026-01-16T03:01:58.033589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=5 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033635Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=84 slots_to_advance=8 max_advance=8 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.033685Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=28 [INFO] [stdout] 2026-01-16T03:01:58.033704Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033738Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=114 [INFO] [stdout] 2026-01-16T03:01:58.033754Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=114 state=Established [INFO] [stdout] 2026-01-16T03:01:58.033783Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=13 [INFO] [stdout] 2026-01-16T03:01:58.033798Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=13 state=Established [INFO] [stdout] 2026-01-16T03:01:57.996555Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=20 [INFO] [stdout] 2026-01-16T03:01:58.035880Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Established [INFO] [stdout] 2026-01-16T03:01:58.035940Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=31 [INFO] [stdout] 2026-01-16T03:01:58.035961Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036072Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=93 slots_to_advance=9 max_advance=9 current_slot=3 [INFO] [stdout] 2026-01-16T03:01:58.036376Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:58.036430Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:58.036452Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036490Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=140 [INFO] [stdout] 2026-01-16T03:01:58.036508Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=140 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036776Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.036847Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=110 [INFO] [stdout] 2026-01-16T03:01:58.036869Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=110 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036903Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:58.036918Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036949Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=34 [INFO] [stdout] 2026-01-16T03:01:58.036965Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Established [INFO] [stdout] 2026-01-16T03:01:58.036999Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=32 [INFO] [stdout] 2026-01-16T03:01:58.037016Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037046Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:58.037061Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037092Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:58.037108Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037141Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:58.037157Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037190Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=3 [INFO] [stdout] 2026-01-16T03:01:58.037233Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:58.037250Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037282Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:58.037299Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037331Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:58.037348Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037380Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:58.037396Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037426Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:58.037441Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037472Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=113 [INFO] [stdout] 2026-01-16T03:01:58.037487Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=113 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037530Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:58.037548Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037582Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.037623Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=99 slots_to_advance=9 max_advance=9 current_slot=3 [INFO] [stdout] 2026-01-16T03:01:58.037669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:58.037687Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037721Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:58.037738Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037772Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:58.037790Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037843Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:58.037864Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037900Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:58.037916Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037947Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:58.037964Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:58.037996Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:58.038013Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038049Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=36 [INFO] [stdout] 2026-01-16T03:01:58.038067Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038101Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:58.038118Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038151Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:58.038167Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038204Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:58.038223Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038257Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.038298Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=95 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.038336Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.038379Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:58.038398Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038557Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=111 [INFO] [stdout] 2026-01-16T03:01:58.038581Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=111 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038620Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=95 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.038665Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.038712Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:58.038731Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038764Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=138 [INFO] [stdout] 2026-01-16T03:01:58.038779Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038813Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=33 [INFO] [stdout] 2026-01-16T03:01:58.038853Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Established [INFO] [stdout] 2026-01-16T03:01:58.038894Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.038945Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:58.038968Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:58.039003Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=141 [INFO] [stdout] 2026-01-16T03:01:58.039022Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=Established [INFO] [stdout] 2026-01-16T03:01:58.039080Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:58.039100Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:58.039399Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=90 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.039636Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=97 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.039706Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=103 [INFO] [stdout] 2026-01-16T03:01:58.039727Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:58.039770Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:58.039786Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:58.040926Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.040983Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.002101Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=145 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.041887Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=145 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.041922Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=145 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.041956Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.041968Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.041997Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=145 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.042016Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=145 remote_addr=127.0.0.1:9044 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 45, source_cid: 145 } } [INFO] [stdout] 2026-01-16T03:01:58.042058Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=145 [INFO] [stdout] 2026-01-16T03:01:58.042081Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=145 state=Established [INFO] [stdout] 2026-01-16T03:01:58.042145Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=99 slots_to_advance=9 max_advance=9 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042192Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=98 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042237Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=97 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042283Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042322Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=97 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042362Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042402Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=96 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042444Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042485Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=105 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042537Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=95 slots_to_advance=9 max_advance=9 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.042578Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042616Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042655Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042812Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=142 [INFO] [stdout] 2026-01-16T03:01:58.042871Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=Established [INFO] [stdout] 2026-01-16T03:01:58.042917Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.042960Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.043000Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.043040Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.043102Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.043151Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.043194Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=94 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.043235Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=93 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.043273Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=94 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.043321Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.043359Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=93 slots_to_advance=9 max_advance=9 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.043677Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:58.043705Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:58.043957Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.044010Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=98 slots_to_advance=9 max_advance=9 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:58.044055Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=98 slots_to_advance=9 max_advance=9 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044095Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044134Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044174Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044216Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=21 slots_to_advance=2 max_advance=2 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.044255Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=42 slots_to_advance=4 max_advance=4 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.044296Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044336Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=100 slots_to_advance=10 max_advance=10 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.044399Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=45 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 45, source_cid: 145 } } [INFO] [stdout] 2026-01-16T03:01:58.044427Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 45, source_cid: 145 } } [INFO] [stdout] 2026-01-16T03:01:58.044451Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=45 peer_cid=145 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.044515Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.044546Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.044586Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.044602Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=45 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.076114Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=45 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.076167Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=45 peer_cid=145 [INFO] [stdout] 2026-01-16T03:01:58.076198Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=45 frame=Push { header: ShortHeader { command: Push, connection_id: 45, payload_length: 4, recv_window_size: 256, timestamp: 44, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.076233Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 45, payload_length: 4, recv_window_size: 256, timestamp: 44, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.076255Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=45 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.076275Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=45 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.076312Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 145, payload_length: 8, recv_window_size: 255, timestamp: 53, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.076363Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=45 [INFO] [stdout] 2026-01-16T03:01:58.076383Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=45 count=1 [INFO] [stdout] 2026-01-16T03:01:58.076420Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Established [INFO] [stdout] 2026-01-16T03:01:58.076589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=45 [INFO] [stdout] 2026-01-16T03:01:58.076631Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.076649Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.076663Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.076673Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.076683Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.076696Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.076706Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.076716Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.076727Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.076743Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 0, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.076880Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 1, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.076987Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 2, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077096Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 3, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077204Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 4, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077315Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 5, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077425Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 6, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077547Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 1200, recv_window_size: 256, timestamp: 53, sequence_number: 7, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.077663Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=45 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 145, payload_length: 640, recv_window_size: 256, timestamp: 53, sequence_number: 8, recv_next_sequence: 1 }, payload: b",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," } [INFO] [stdout] 2026-01-16T03:01:58.013075Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.077744Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Established [INFO] [stdout] 2026-01-16T03:01:58.001675Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.077851Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=139 [INFO] [stdout] 2026-01-16T03:01:58.077879Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=Established [INFO] [stdout] 2026-01-16T03:01:58.077877Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=146 remote_addr=127.0.0.1:9045 [INFO] [stdout] 2026-01-16T03:01:58.077928Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=133 slots_to_advance=13 max_advance=13 current_slot=12 [INFO] [stdout] test timer::parallel::tests::test_memory_efficiency ... ok [INFO] [stdout] 2026-01-16T03:01:58.002496Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=384757967 [INFO] [stdout] 2026-01-16T03:01:58.078018Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.078136Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.078206Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:58.078231Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.078268Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.039817Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:58.048899Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.078364Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.078377Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.078421Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.078440Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.048935Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:58.078549Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:58.078605Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.078662Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:58.078684Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:58.078724Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:58.078743Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:58.078781Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.078856Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:58.078878Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:58.078912Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=179 slots_to_advance=17 max_advance=17 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.078916Z TRACE mio::poll: registering event source with poller: token=Token(123776125671296), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:58.078957Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3 [INFO] [stdout] 2026-01-16T03:01:58.078975Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:58.079017Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:58.079034Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:58.079091Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=35 [INFO] [stdout] 2026-01-16T03:01:58.079109Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Established [INFO] [stdout] 2026-01-16T03:01:58.079190Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.079208Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:58.079218Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:58.079242Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:34440) [INFO] [stdout] 2026-01-16T03:01:58.079352Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.079403Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=40 [INFO] [stdout] 2026-01-16T03:01:58.079423Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Established [INFO] [stdout] 2026-01-16T03:01:58.079454Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=136 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.079903Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=41 [INFO] [stdout] 2026-01-16T03:01:58.079931Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080027Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=143 [INFO] [stdout] 2026-01-16T03:01:58.080046Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=143 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080075Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.080116Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=122 slots_to_advance=12 max_advance=12 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.080159Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:58.080176Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080207Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:58.080223Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080253Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:58.080271Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080304Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:58.080321Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080352Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:58.080369Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080399Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:58.080415Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080444Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:58.080461Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080489Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.080506Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.051049Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.080726Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080775Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=119 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.080812Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=118 slots_to_advance=11 max_advance=11 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.080870Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=121 slots_to_advance=12 max_advance=12 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.080906Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.080941Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.080979Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081015Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081001Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:58.081049Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081064Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:58.081086Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081123Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.081128Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.081160Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081197Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.081231Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=122 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081278Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=133 [INFO] [stdout] 2026-01-16T03:01:58.081298Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081327Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=119 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.081360Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=106 slots_to_advance=10 max_advance=10 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.081395Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=105 slots_to_advance=10 max_advance=10 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.081439Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=43 [INFO] [stdout] 2026-01-16T03:01:58.081457Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081488Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=144 [INFO] [stdout] 2026-01-16T03:01:58.081504Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=144 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081549Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.081568Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081693Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:58.081715Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081750Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:58.081766Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.081799Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=106 slots_to_advance=10 max_advance=10 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.081866Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.082368Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=106 slots_to_advance=10 max_advance=10 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:58.082421Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] 2026-01-16T03:01:58.082442Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] 2026-01-16T03:01:58.080547Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=136 slots_to_advance=13 max_advance=13 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.051175Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.082575Z TRACE mio::poll: registering event source with poller: token=Token(123776125783040), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:58.082687Z DEBUG kestrel_protocol::socket::transport::udp: Attempting to rebind UDP socket new_addr=127.0.0.1:0 [INFO] [stdout] 2026-01-16T03:01:58.082768Z TRACE mio::poll: registering event source with poller: token=Token(123776461181696), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:58.082887Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.082907Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:58.082919Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:58.082934Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:42678) [INFO] [stdout] 2026-01-16T03:01:58.082974Z DEBUG kestrel_protocol::socket::transport::udp: UDP socket rebound to new address addr=127.0.0.1:56483 [INFO] [stdout] 2026-01-16T03:01:58.083020Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:58.083045Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:58.083087Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.083095Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:33833 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.051261Z DEBUG kestrel_protocol::core::reliability::retransmission::sack_manager: RTO retransmission triggered - reconstructing frame with fresh header seq=0 frame_type=Push updated_cid=2 [INFO] [stdout] 2026-01-16T03:01:58.051335Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.051379Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.083217Z DEBUG kestrel_protocol::core::reliability::retransmission: Retransmission timeout detected by unified manager with frame reconstruction retx_count=1 current_peer_cid=2 [INFO] [stdout] 2026-01-16T03:01:58.025949Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 5, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.083240Z DEBUG kestrel_protocol::core::reliability::congestion::vegas: Congestive loss detected! New ssthresh: 16, New cwnd: 16 [INFO] [stdout] 2026-01-16T03:01:58.083252Z DEBUG kestrel_protocol::core::reliability: Congestion window reduced due to retransmissions old_cwnd=32 new_cwnd=16 count=1 [INFO] [stdout] 2026-01-16T03:01:58.083268Z DEBUG kestrel_protocol::core::reliability::retransmission::rtt: RTO backoff old_rto_ms=200 new_rto_ms=400 [INFO] [stdout] 2026-01-16T03:01:58.083290Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 29, recv_window_size: 256, timestamp: 224, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello, this is a test message" } [INFO] [stdout] 2026-01-16T03:01:58.083332Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.083354Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.083259Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 6, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.083379Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 1200, recv_window_size: 256, timestamp: 9, sequence_number: 7, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.083478Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=42 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 142, payload_length: 640, recv_window_size: 256, timestamp: 9, sequence_number: 8, recv_next_sequence: 1 }, payload: b"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))" } [INFO] [stdout] 2026-01-16T03:01:58.083551Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=42 state=Established [INFO] [stdout] 2026-01-16T03:01:58.083701Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085011Z  INFO kestrel_protocol::socket::tests::rebind: 服务器地址: 127.0.0.1:34440 [INFO] [stdout] 2026-01-16T03:01:58.085037Z  INFO kestrel_protocol::socket::tests::rebind: 客户端地址: 127.0.0.1:42678 [INFO] [stdout] 2026-01-16T03:01:58.085072Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 29, recv_window_size: 256, timestamp: 224, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello, this is a test message" } [INFO] [stdout] 2026-01-16T03:01:58.085119Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 2, payload_length: 29, recv_window_size: 256, timestamp: 224, sequence_number: 0, recv_next_sequence: 1 }, payload: b"hello, this is a test message" } [INFO] [stdout] 2026-01-16T03:01:58.085147Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2 seq=0 payload_len=29 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085170Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=2 seq=0 payload_len=29 [INFO] [stdout] 2026-01-16T03:01:58.085199Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 257, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.085237Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.085243Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.085257Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2 count=1 [INFO] [stdout] 2026-01-16T03:01:58.085299Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085297Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=4257094000 remote_addr=127.0.0.1:34440 [INFO] [stdout] 2026-01-16T03:01:58.085365Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 257, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.085375Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.085393Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 257, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.085414Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085415Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=4257094000 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.085436Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=1 [INFO] [stdout] 2026-01-16T03:01:58.085453Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.085503Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.085493Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.085531Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.085531Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=4257094000 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.085552Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=34 srtt_ms=34 rttvar_ms=17 rto_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.085727Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=17 [INFO] [stdout] 2026-01-16T03:01:58.085745Z TRACE kestrel_protocol::core::reliability::congestion::vegas: State changed to CongestionAvoidance [INFO] [stdout] 2026-01-16T03:01:58.085754Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=16 new_cwnd=17 [INFO] [stdout] 2026-01-16T03:01:58.085772Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.085790Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085793Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.085874Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:58.085896Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085928Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:58.085951Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085983Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:58.085998Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086029Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=112 [INFO] [stdout] 2026-01-16T03:01:58.086044Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086072Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:58.086088Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086117Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=6 [INFO] [stdout] 2026-01-16T03:01:58.086132Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086163Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=109 [INFO] [stdout] 2026-01-16T03:01:58.086179Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086220Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=108 [INFO] [stdout] 2026-01-16T03:01:58.086236Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086268Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=104 [INFO] [stdout] 2026-01-16T03:01:58.086294Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=104 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086471Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=20 [INFO] [stdout] 2026-01-16T03:01:58.086497Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=20 state=Established [INFO] [stdout] 2026-01-16T03:01:58.086582Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.086623Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.086969Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=31 [INFO] [stdout] 2026-01-16T03:01:58.087004Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087039Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:58.087055Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087085Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=140 [INFO] [stdout] 2026-01-16T03:01:58.087100Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=140 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087128Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=110 [INFO] [stdout] 2026-01-16T03:01:58.087143Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=110 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087234Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=10 [INFO] [stdout] 2026-01-16T03:01:58.087251Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=10 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087290Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=128 [INFO] [stdout] 2026-01-16T03:01:58.087307Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=128 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087335Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=105 [INFO] [stdout] 2026-01-16T03:01:58.087349Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=105 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087379Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=5 [INFO] [stdout] 2026-01-16T03:01:58.087395Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=5 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087425Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=28 [INFO] [stdout] 2026-01-16T03:01:58.087442Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=28 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087471Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=114 [INFO] [stdout] 2026-01-16T03:01:58.087491Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=114 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087521Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=13 [INFO] [stdout] 2026-01-16T03:01:58.087538Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=13 state=Established [INFO] [stdout] 2026-01-16T03:01:58.087603Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.087678Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:58.087702Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] test core::endpoint::timing::tests::test_timer_cancellation ... ok [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_fast_event_slot_concurrent_writes ... ok [INFO] [stdout] 2026-01-16T03:01:58.088115Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.088235Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.089171Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:58.089592Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:58.089624Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089660Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:58.089678Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089711Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:58.089729Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089778Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=36 [INFO] [stdout] 2026-01-16T03:01:58.089804Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089862Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:58.089881Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089922Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:58.089938Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089968Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:58.089984Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090015Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:58.090029Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090059Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=111 [INFO] [stdout] 2026-01-16T03:01:58.090081Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=111 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090112Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:58.090127Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090155Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=138 [INFO] [stdout] 2026-01-16T03:01:58.090169Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090198Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=33 [INFO] [stdout] 2026-01-16T03:01:58.090213Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090327Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=504 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.090380Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=146 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.090589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=34 [INFO] [stdout] 2026-01-16T03:01:58.090626Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=32 [INFO] [stdout] 2026-01-16T03:01:58.090689Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090722Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:58.090755Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090798Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:58.090818Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085602Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=4257094000 addr=127.0.0.1:34440 [INFO] [stdout] 2026-01-16T03:01:58.090881Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:58.090904Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090915Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=4257094000 addr=127.0.0.1:34440 [INFO] [stdout] 2026-01-16T03:01:58.090940Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:58.090960Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:58.090990Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:58.091005Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091034Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:58.091049Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091059Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:34440 cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.091082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:58.091098Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091110Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=4257094000 remote_addr=127.0.0.1:34440 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 4257094000 } } [INFO] [stdout] 2026-01-16T03:01:58.091128Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:58.091144Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091157Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4257094000 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.091184Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=113 [INFO] [stdout] 2026-01-16T03:01:58.091202Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=113 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091233Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:58.091243Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:34440 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:58.091249Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:58.085698Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=107 [INFO] [stdout] 2026-01-16T03:01:58.091301Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:58.091323Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091353Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091364Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:58.091385Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091431Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:58.091468Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:58.089210Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091635Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:58.091674Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091732Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=141 [INFO] [stdout] 2026-01-16T03:01:58.091766Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091798Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:58.091847Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091863Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:58.091888Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:58.091908Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.091930Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=103 [INFO] [stdout] 2026-01-16T03:01:58.091952Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:58.092084Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:34440 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:58.092111Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=102 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.092289Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:42678 frame_count=1 bytes=10 [INFO] [stdout] 2026-01-16T03:01:58.092380Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:58.092391Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:42678 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:58.092408Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:58.092426Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Accepting new connection attempt addr=127.0.0.1:42678 [INFO] [stdout] 2026-01-16T03:01:58.092452Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.092502Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=2239892301 remote_addr=127.0.0.1:42678 [INFO] [stdout] 2026-01-16T03:01:58.092587Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.092638Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=2239892301 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.092725Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=2239892301 addr=127.0.0.1:42678 [INFO] [stdout] 2026-01-16T03:01:58.092769Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=2239892301 addr=127.0.0.1:42678 [INFO] [stdout] 2026-01-16T03:01:58.092796Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: New connection successfully sent to user application addr=127.0.0.1:42678 cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.092917Z  INFO kestrel_protocol::core::tests::retransmission: [Server] Successfully received message after RTO. [INFO] [stdout] 2026-01-16T03:01:58.092948Z  INFO kestrel_protocol::core::tests::retransmission: [Server] Sending response... [INFO] [stdout] 2026-01-16T03:01:58.093044Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.093081Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.093113Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 3, recv_window_size: 256, timestamp: 265, sequence_number: 1, recv_next_sequence: 1 }, payload: b"ack" } [INFO] [stdout] 2026-01-16T03:01:58.093166Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.093518Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=145 [INFO] [stdout] 2026-01-16T03:01:58.093554Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=145 state=Established [INFO] [stdout] 2026-01-16T03:01:58.093592Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=142 [INFO] [stdout] 2026-01-16T03:01:58.093607Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=Established [INFO] [stdout] 2026-01-16T03:01:58.093972Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:58.094009Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:58.094407Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 3, recv_window_size: 256, timestamp: 265, sequence_number: 1, recv_next_sequence: 1 }, payload: b"ack" } [INFO] [stdout] 2026-01-16T03:01:58.094459Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 1, payload_length: 3, recv_window_size: 256, timestamp: 265, sequence_number: 1, recv_next_sequence: 1 }, payload: b"ack" } [INFO] [stdout] 2026-01-16T03:01:58.094486Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=1 seq=1 payload_len=3 state=Established [INFO] [stdout] 2026-01-16T03:01:58.094508Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=1 seq=1 payload_len=3 [INFO] [stdout] 2026-01-16T03:01:58.094549Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 267, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.094585Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.094610Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=1 count=1 [INFO] [stdout] 2026-01-16T03:01:58.094645Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.094706Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 267, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.094746Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 267, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.094767Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=1 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.094788Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=2 [INFO] [stdout] 2026-01-16T03:01:58.094804Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.094861Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:58.094882Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.094902Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=1 srtt_ms=4 rttvar_ms=2 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.094930Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.094944Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.094962Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.094981Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.095070Z  INFO kestrel_protocol::core::tests::retransmission: [Client] Successfully received server response. [INFO] [stdout] 2026-01-16T03:01:58.095097Z  INFO kestrel_protocol::core::tests::retransmission: [Test] Shutting down client stream... [INFO] [stdout] 2026-01-16T03:01:58.095122Z  INFO kestrel_protocol::core::tests::retransmission: [Test] Shutting down server stream... [INFO] [stdout] 2026-01-16T03:01:58.095174Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=1 current_state=Established [INFO] [stdout] 2026-01-16T03:01:58.095200Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:58.095224Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.095247Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.095265Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 268, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:58.095295Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.095314Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.095353Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=2 current_state=Established [INFO] [stdout] 2026-01-16T03:01:58.095378Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Established" to="Closing" [INFO] [stdout] 2026-01-16T03:01:58.095397Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.095416Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.095445Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 267, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:58.095470Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.095485Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.096912Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 267, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:58.096956Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 1, payload_length: 0, recv_window_size: 256, timestamp: 267, sequence_number: 2, recv_next_sequence: 1 } } [INFO] [stdout] 2026-01-16T03:01:58.096981Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=1 seq=2 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.097000Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=1 seq=2 [INFO] [stdout] 2026-01-16T03:01:58.097041Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1 remote_addr=127.0.0.1:5678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 270, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.097080Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=Closing target_state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:58.097101Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="Closing" to="ClosingWait" [INFO] [stdout] 2026-01-16T03:01:58.097121Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.097140Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=1 [INFO] [stdout] 2026-01-16T03:01:58.097160Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:58.097247Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 268, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:58.097304Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 2, payload_length: 0, recv_window_size: 256, timestamp: 268, sequence_number: 1, recv_next_sequence: 2 } } [INFO] [stdout] 2026-01-16T03:01:58.097327Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2 seq=1 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.097355Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in Closing state cid=2 seq=1 [INFO] [stdout] 2026-01-16T03:01:58.097350Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=104 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.097380Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2 remote_addr=127.0.0.1:1234 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 269, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.097415Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=Closing target_state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:58.097435Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="Closing" to="ClosingWait" [INFO] [stdout] 2026-01-16T03:01:58.097455Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2 frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 270, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.097479Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 270, sequence_number: 0, recv_next_sequence: 2 }, payload: b"\0\0\0\x02\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.097508Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=2 recv_next_seq=2 recv_window=255 payload_len=8 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:58.097546Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in ClosingWait state cid=2 [INFO] [stdout] 2026-01-16T03:01:58.097562Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=2 recv_next_seq=2 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.097597Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=2 [INFO] [stdout] 2026-01-16T03:01:58.097613Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=2 sack_ranges_count=1 sack_acked_count=0 simple_acked_count=1 rtt_samples_count=0 [INFO] [stdout] 2026-01-16T03:01:58.097245Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.097656Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.097673Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2 [INFO] [stdout] 2026-01-16T03:01:58.097687Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2 current_state=ClosingWait target_state=Closed [INFO] [stdout] 2026-01-16T03:01:58.097706Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2 from="ClosingWait" to="Closed" [INFO] [stdout] 2026-01-16T03:01:58.097726Z DEBUG kestrel_protocol::core::reliability::retransmission: Cleared all in-flight packets from both SACK and simple retransmission managers. [INFO] [stdout] 2026-01-16T03:01:58.097737Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:58.085656Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=44 [INFO] [stdout] 2026-01-16T03:01:58.097995Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Established [INFO] [stdout] test timer::event::zero_copy_tests::tests::test_complete_zero_copy_workflow ... ok [INFO] [stdout] test timer::parallel::tests::test_performance_scaling ... ok [INFO] [stdout] test timer::parallel::tests::test_simd_processor ... ok [INFO] [stdout] 2026-01-16T03:01:58.098415Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=146 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.098603Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for inbound connection addr=127.0.0.1:42678 cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.098665Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2239892301 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.098669Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.098751Z  INFO kestrel_protocol::socket::tests::rebind: 连接建立成功 | Connection established successfully [INFO] [stdout] 2026-01-16T03:01:58.098872Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Beginning graceful shutdown cid=4257094000 current_state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.098898Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=4257094000 from="Connecting" to="Closing" [INFO] [stdout] 2026-01-16T03:01:58.098929Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.098955Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.098968Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=1 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.098990Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=4257094000 remote_addr=127.0.0.1:34440 frame_count=2 first_frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 19, recv_window_size: 256, timestamp: 13, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello before rebind" } [INFO] [stdout] 2026-01-16T03:01:58.099029Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.099029Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=1 frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 269, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.099077Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4257094000 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.099090Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 269, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\x01\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.099115Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=1 recv_next_seq=1 recv_window=255 payload_len=8 state=ClosingWait [INFO] [stdout] 2026-01-16T03:01:58.099121Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:34440 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:58.099138Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in ClosingWait state cid=1 [INFO] [stdout] 2026-01-16T03:01:58.099156Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=1 recv_next_seq=1 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.099184Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:34440 frame_count=2 bytes=61 [INFO] [stdout] 2026-01-16T03:01:58.099202Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=1 [INFO] [stdout] 2026-01-16T03:01:58.099221Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=1 sack_ranges_count=1 sack_acked_count=0 simple_acked_count=1 rtt_samples_count=0 [INFO] [stdout] 2026-01-16T03:01:58.099248Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.099261Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=1 current_state=ClosingWait target_state=Closed [INFO] [stdout] 2026-01-16T03:01:58.099282Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=1 from="ClosingWait" to="Closed" [INFO] [stdout] 2026-01-16T03:01:58.099304Z DEBUG kestrel_protocol::core::reliability::retransmission: Cleared all in-flight packets from both SACK and simple retransmission managers. [INFO] [stdout] 2026-01-16T03:01:58.099315Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:58.099340Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:42678 frame_count=2 bytes=61 [INFO] [stdout] 2026-01-16T03:01:58.099511Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.099577Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.099609Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=147 remote_addr=127.0.0.1:9046 [INFO] [stdout] 2026-01-16T03:01:58.099796Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.099855Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=46 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.099903Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.099951Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.099983Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=46 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.100053Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.100075Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=46 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.100170Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=146 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.100206Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=146 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.100242Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.100265Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.100281Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=146 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.100296Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=146 remote_addr=127.0.0.1:9045 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 46, source_cid: 146 } } [INFO] [stdout] 2026-01-16T03:01:58.100327Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=146 [INFO] [stdout] 2026-01-16T03:01:58.100347Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=146 state=Established [INFO] [stdout] 2026-01-16T03:01:58.100391Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.100414Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.100436Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=147 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.100503Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 46 } } [INFO] [stdout] 2026-01-16T03:01:58.100550Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=46 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.100569Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=46 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 46, source_cid: 146 } } [INFO] [stdout] 2026-01-16T03:01:58.100588Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 46, source_cid: 146 } } [INFO] [stdout] 2026-01-16T03:01:58.100607Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=46 peer_cid=146 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.100655Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.100683Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.100718Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.100730Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=46 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.100760Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=46 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.100779Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=46 peer_cid=146 [INFO] [stdout] 2026-01-16T03:01:58.100795Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=46 frame=Push { header: ShortHeader { command: Push, connection_id: 46, payload_length: 4, recv_window_size: 256, timestamp: 22, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.100892Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:42678 frame_count=2 [INFO] [stdout] 2026-01-16T03:01:58.100987Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2239892301 frame=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 19, recv_window_size: 256, timestamp: 13, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello before rebind" } [INFO] [stdout] 2026-01-16T03:01:58.101024Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 0, payload_length: 19, recv_window_size: 256, timestamp: 13, sequence_number: 0, recv_next_sequence: 0 }, payload: b"hello before rebind" } [INFO] [stdout] 2026-01-16T03:01:58.101061Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=2239892301 seq=0 payload_len=19 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.101097Z DEBUG kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in SynReceived state (0-RTT data) cid=2239892301 seq=0 [INFO] [stdout] 2026-01-16T03:01:58.101131Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=2239892301 frame=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 13, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:58.101149Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 13, sequence_number: 1, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:58.101170Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing FIN frame cid=2239892301 seq=1 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.101189Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Handling FIN in SynReceived state (0-RTT close) cid=2239892301 seq=1 [INFO] [stdout] 2026-01-16T03:01:58.101219Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=2239892301 remote_addr=127.0.0.1:42678 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 4257094000, payload_length: 8, recv_window_size: 254, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.101256Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=2239892301 current_state=SynReceived target_state=FinWait [INFO] [stdout] 2026-01-16T03:01:58.101280Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=2239892301 from="SynReceived" to="FinWait" [INFO] [stdout] 2026-01-16T03:01:58.101299Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.101320Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=2239892301 count=1 [INFO] [stdout] test timer::parallel::tests::test_rayon_executor ... ok [INFO] [stdout] test timer::parallel::tests::test_strategy_selection_comprehensive ... ok [INFO] [stdout] 2026-01-16T03:01:58.102427Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.102582Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.102622Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=148 remote_addr=127.0.0.1:9047 [INFO] [stdout] 2026-01-16T03:01:58.102751Z TRACE kestrel_protocol::core::endpoint::core::event_loop: All data drained after FIN, closing user stream (sending EOF). cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.102798Z  INFO kestrel_protocol::socket::tests::rebind: rebind前数据传输正常 [INFO] [stdout] 2026-01-16T03:01:58.102868Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2239892301 state=FinWait [INFO] [stdout] 2026-01-16T03:01:58.102914Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:42678 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:58.104335Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.104512Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] test timer::parallel::tests::test_zero_copy_batch_dispatcher ... ok [INFO] [stdout] 2026-01-16T03:01:58.104807Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.104856Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:42678 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:58.104946Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.104982Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定地址 | Transport manager rebinding address new_addr=127.0.0.1:0 [INFO] [stdout] 2026-01-16T03:01:58.105011Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.105046Z TRACE mio::poll: registering event source with poller: token=Token(123775924356864), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:58.105073Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.105105Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.105148Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105176Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105220Z DEBUG kestrel_protocol::socket::transport::manager: 传输管理器重绑定完成 | Transport manager rebind completed actual_addr=127.0.0.1:52859 [INFO] [stdout] 2026-01-16T03:01:58.105243Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105267Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105285Z DEBUG kestrel_protocol::socket::transport::sender: Transport sender task is swapping to a new transport [INFO] [stdout] 2026-01-16T03:01:58.105323Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105332Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor has shut down [INFO] [stdout] 2026-01-16T03:01:58.105345Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=2 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105384Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:58.105403Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:58.105400Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105427Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105438Z DEBUG kestrel_protocol::socket::transport::udp: Receiver task received shutdown signal [INFO] [stdout] 2026-01-16T03:01:58.105449Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task has shut down [INFO] [stdout] 2026-01-16T03:01:58.105479Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:58.105481Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105501Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=4 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.100816Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 46, payload_length: 4, recv_window_size: 256, timestamp: 22, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.105564Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105580Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=46 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.105586Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=5 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105603Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=46 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.105636Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105636Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 146, payload_length: 8, recv_window_size: 255, timestamp: 5, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.105656Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=6 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105677Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=46 [INFO] [stdout] 2026-01-16T03:01:58.105697Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=46 count=1 [INFO] [stdout] 2026-01-16T03:01:58.105712Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105727Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=46 state=Established [INFO] [stdout] 2026-01-16T03:01:58.105739Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=7 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105792Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105813Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=8 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105871Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=46 [INFO] [stdout] 2026-01-16T03:01:58.105899Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.105913Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.105912Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=10 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.105925Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.105936Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.105935Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=10 entry_id=10 connection_id=9 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.105946Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.105957Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.105967Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.105977Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.105987Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.105986Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=11 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106007Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=11 entry_id=11 connection_id=10 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106058Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=12 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106080Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=12 entry_id=12 connection_id=11 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106002Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 0, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106143Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=13 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106167Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=13 entry_id=13 connection_id=12 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106120Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 1, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106223Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=14 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106245Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=14 entry_id=14 connection_id=13 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106231Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 2, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106330Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=15 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106369Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=15 entry_id=15 connection_id=14 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106425Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=16 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106341Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 3, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106447Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=16 entry_id=16 connection_id=15 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106502Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=17 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106540Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=17 entry_id=17 connection_id=16 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106451Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 4, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106597Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=18 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106620Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=18 entry_id=18 connection_id=17 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106566Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 5, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106674Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=19 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106696Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=19 entry_id=19 connection_id=18 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106763Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=20 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106690Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 6, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106786Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=20 entry_id=20 connection_id=19 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106872Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=21 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106801Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 1200, recv_window_size: 256, timestamp: 6, sequence_number: 7, recv_next_sequence: 1 }, payload: b"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.106910Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=21 entry_id=21 connection_id=20 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.106953Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.106977Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=22 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.106976Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=75 slots_to_advance=7 max_advance=7 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.106935Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=46 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 146, payload_length: 640, recv_window_size: 256, timestamp: 6, sequence_number: 8, recv_next_sequence: 1 }, payload: b"----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------" } [INFO] [stdout] 2026-01-16T03:01:58.107000Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=22 entry_id=22 connection_id=21 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107015Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=46 state=Established [INFO] [stdout] 2026-01-16T03:01:58.107062Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=23 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107084Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=147 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.107097Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=23 entry_id=23 connection_id=22 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107109Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.107132Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.107156Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=24 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107169Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=148 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107178Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=24 entry_id=24 connection_id=23 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107193Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.107222Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=47 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.107227Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=25 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107248Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=25 entry_id=25 connection_id=24 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107273Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.107303Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=26 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107321Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.107325Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=26 entry_id=26 connection_id=25 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107350Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=47 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107363Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:34440 frame_count=1 bytes=29 [INFO] [stdout] 2026-01-16T03:01:58.107377Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=27 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107407Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=27 entry_id=27 connection_id=26 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.107424Z DEBUG kestrel_protocol::socket::event_loop: Received frame batch from transport addr=127.0.0.1:34440 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:58.107439Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=47 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.107467Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=28 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107477Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=4257094000 frame=Ack { header: ShortHeader { command: Ack, connection_id: 4257094000, payload_length: 8, recv_window_size: 254, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.107489Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=28 entry_id=28 connection_id=27 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.107516Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 4257094000, payload_length: 8, recv_window_size: 254, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.107548Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=4257094000 recv_next_seq=0 recv_window=254 payload_len=8 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.107565Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=29 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.107569Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Closing state cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.107588Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=4257094000 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=254 [INFO] [stdout] 2026-01-16T03:01:58.107657Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=107 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.107678Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.107712Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=38 slots_to_advance=3 max_advance=3 current_slot=17 [INFO] [stdout] 2026-01-16T03:01:58.107750Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=78 slots_to_advance=7 max_advance=7 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.107784Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=79 slots_to_advance=7 max_advance=7 current_slot=3 [INFO] [stdout] 2026-01-16T03:01:58.107878Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=75 slots_to_advance=7 max_advance=7 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.107982Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=147 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.108008Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=147 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.108039Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.108051Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.108079Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=147 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.108096Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=147 remote_addr=127.0.0.1:9046 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 47, source_cid: 147 } } [INFO] [stdout] 2026-01-16T03:01:58.108129Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=147 [INFO] [stdout] 2026-01-16T03:01:58.108152Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=147 state=Established [INFO] [stdout] 2026-01-16T03:01:58.108211Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 47 } } [INFO] [stdout] 2026-01-16T03:01:58.108240Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=47 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.108260Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=47 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 47, source_cid: 147 } } [INFO] [stdout] 2026-01-16T03:01:58.108288Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 47, source_cid: 147 } } [INFO] [stdout] 2026-01-16T03:01:58.108308Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=47 peer_cid=147 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.108357Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.108375Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.108409Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.108421Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=47 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.108439Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=47 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.108457Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=47 peer_cid=147 [INFO] [stdout] 2026-01-16T03:01:58.108475Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=47 frame=Push { header: ShortHeader { command: Push, connection_id: 47, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.108497Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 47, payload_length: 4, recv_window_size: 256, timestamp: 8, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.108517Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=47 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.108537Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=47 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.108557Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Packet acknowledged by SACK seq=1 [INFO] [stdout] 2026-01-16T03:01:58.108565Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 147, payload_length: 8, recv_window_size: 255, timestamp: 1, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.108581Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=1 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.108597Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=47 [INFO] [stdout] 2026-01-16T03:01:58.108613Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=47 count=1 [INFO] [stdout] 2026-01-16T03:01:58.108603Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=8 srtt_ms=8 rttvar_ms=4 rto_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.108665Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.108678Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.108700Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.108722Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.108738Z TRACE kestrel_protocol::core::reliability::retransmission::simple_retx_manager: Added packet to simple retransmission tracking seq=2 max_retries=5 retry_interval_ms=500 [INFO] [stdout] 2026-01-16T03:01:58.108758Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=4257094000 remote_addr=127.0.0.1:34440 frame_count=1 first_frame=Fin { header: ShortHeader { command: Fin, connection_id: 0, payload_length: 0, recv_window_size: 256, timestamp: 23, sequence_number: 2, recv_next_sequence: 0 } } [INFO] [stdout] 2026-01-16T03:01:58.108794Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4257094000 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.107611Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=29 entry_id=29 connection_id=28 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.108855Z DEBUG kestrel_protocol::socket::transport::sender: transport_sender_task sending frame batch addr=127.0.0.1:34440 frame_count=1 [INFO] [stdout] 2026-01-16T03:01:58.108898Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:34440 frame_count=1 bytes=21 [INFO] [stdout] 2026-01-16T03:01:58.108921Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=30 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.108950Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=30 entry_id=30 connection_id=29 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109018Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=31 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109039Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=31 entry_id=31 connection_id=30 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109089Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=32 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109108Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=32 entry_id=32 connection_id=31 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109160Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=33 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109179Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=33 entry_id=33 connection_id=32 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109207Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=148 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.109230Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=34 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109250Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=34 entry_id=34 connection_id=33 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109295Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.109306Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=35 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109325Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=35 entry_id=35 connection_id=34 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109326Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=149 remote_addr=127.0.0.1:9048 [INFO] [stdout] 2026-01-16T03:01:58.109346Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.109373Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=36 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109380Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=48 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.109391Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=36 entry_id=36 connection_id=35 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109423Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.109443Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=37 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109457Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.109462Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=37 entry_id=37 connection_id=36 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109483Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=48 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109508Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=38 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109537Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=38 entry_id=38 connection_id=37 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109553Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.109578Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=48 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.109587Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=39 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109605Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=39 entry_id=39 connection_id=38 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109652Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=40 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109671Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=40 entry_id=40 connection_id=39 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109673Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=148 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.109698Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=148 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.109717Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=41 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109724Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.109737Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.109738Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=41 entry_id=41 connection_id=40 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109752Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=148 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.109765Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=148 remote_addr=127.0.0.1:9047 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 48, source_cid: 148 } } [INFO] [stdout] 2026-01-16T03:01:58.109785Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=42 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109796Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=148 [INFO] [stdout] 2026-01-16T03:01:58.109803Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=42 entry_id=42 connection_id=41 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109818Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=148 state=Established [INFO] [stdout] 2026-01-16T03:01:58.109881Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=43 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109903Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=43 entry_id=43 connection_id=42 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109902Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 48 } } [INFO] [stdout] 2026-01-16T03:01:58.109932Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=48 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.109949Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=48 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 48, source_cid: 148 } } [INFO] [stdout] 2026-01-16T03:01:58.109952Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=44 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.109966Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 48, source_cid: 148 } } [INFO] [stdout] 2026-01-16T03:01:58.109973Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=44 entry_id=44 connection_id=43 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.109985Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=48 peer_cid=148 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.109992Z  INFO kestrel_protocol::socket::tests::rebind: 服务器从 127.0.0.1:34440 rebind到 127.0.0.1:52859 [INFO] [stdout] 2026-01-16T03:01:58.110024Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=45 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110030Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.110048Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.110044Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=45 entry_id=45 connection_id=44 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110082Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.110087Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.110093Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=46 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110093Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=48 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.110112Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=46 entry_id=46 connection_id=45 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110114Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=48 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.110124Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.110132Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=48 peer_cid=148 [INFO] [stdout] 2026-01-16T03:01:58.110149Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=48 frame=Push { header: ShortHeader { command: Push, connection_id: 48, payload_length: 4, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.110151Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=149 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110159Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=47 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110169Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 48, payload_length: 4, recv_window_size: 256, timestamp: 7, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.110178Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=47 entry_id=47 connection_id=46 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110185Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=48 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.110202Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=48 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.110224Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=48 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110224Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 148, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.110242Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=48 entry_id=48 connection_id=47 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110251Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=48 [INFO] [stdout] 2026-01-16T03:01:58.110264Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=48 count=1 [INFO] [stdout] 2026-01-16T03:01:58.110292Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=49 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110299Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=48 state=Established [INFO] [stdout] 2026-01-16T03:01:58.110312Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=49 entry_id=49 connection_id=48 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110362Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=50 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110382Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=50 entry_id=50 connection_id=49 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110388Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=48 [INFO] [stdout] 2026-01-16T03:01:58.110411Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.110424Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.110435Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.110436Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=51 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110446Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.110456Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.110456Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=51 entry_id=51 connection_id=50 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110466Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.110477Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.110487Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.110497Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.110508Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=52 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110541Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=52 entry_id=52 connection_id=51 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110592Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=53 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110510Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 0, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.110612Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=53 entry_id=53 connection_id=52 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110663Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=54 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110684Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=54 entry_id=54 connection_id=53 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110624Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 1, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.110735Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=55 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110754Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=55 entry_id=55 connection_id=54 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110803Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=56 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110821Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=56 entry_id=56 connection_id=55 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.110924Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=57 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110985Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=57 entry_id=57 connection_id=56 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111037Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=58 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111055Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=58 entry_id=58 connection_id=57 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111104Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=59 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111123Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=59 entry_id=59 connection_id=58 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111175Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=60 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111194Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=60 entry_id=60 connection_id=59 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111241Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=61 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=61 entry_id=61 connection_id=60 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111311Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=62 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111330Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=62 entry_id=62 connection_id=61 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111376Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=63 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111395Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=63 entry_id=63 connection_id=62 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111441Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=64 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111459Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=64 entry_id=64 connection_id=63 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111510Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=65 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111540Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=65 entry_id=65 connection_id=64 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111592Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=66 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111611Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=66 entry_id=66 connection_id=65 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111660Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=67 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111680Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=67 entry_id=67 connection_id=66 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111721Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.111728Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=68 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111747Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=68 entry_id=68 connection_id=67 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.111754Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=150 remote_addr=127.0.0.1:9049 [INFO] [stdout] 2026-01-16T03:01:58.111795Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=69 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.111815Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=69 entry_id=69 connection_id=68 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112054Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=70 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112081Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=70 entry_id=70 connection_id=69 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112138Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=71 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112159Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=71 entry_id=71 connection_id=70 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112211Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=72 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112232Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=72 entry_id=72 connection_id=71 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112288Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=73 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112309Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=73 entry_id=73 connection_id=72 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112363Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=74 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112383Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=74 entry_id=74 connection_id=73 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112441Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=75 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112222Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.112465Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=75 entry_id=75 connection_id=74 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112554Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=76 slot_index=20 delay_ms=200 [INFO] [stdout] test timer::parallel::tests::test_system_statistics ... ok [INFO] [stdout] 2026-01-16T03:01:58.112581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=76 entry_id=76 connection_id=75 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112699Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=77 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112726Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=77 entry_id=77 connection_id=76 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112798Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=78 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=78 entry_id=78 connection_id=77 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.112902Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.112919Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=79 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.112943Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=79 entry_id=79 connection_id=78 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113008Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=80 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113031Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=80 entry_id=80 connection_id=79 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113083Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=81 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113104Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=81 entry_id=81 connection_id=80 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113172Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=82 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113175Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=149 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.113200Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=82 entry_id=82 connection_id=81 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113277Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=83 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113303Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=83 entry_id=83 connection_id=82 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113375Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=84 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113402Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=84 entry_id=84 connection_id=83 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113479Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=85 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=85 entry_id=85 connection_id=84 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113584Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=86 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113608Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=86 entry_id=86 connection_id=85 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113675Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=87 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113701Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=87 entry_id=87 connection_id=86 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113765Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=88 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113790Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=88 entry_id=88 connection_id=87 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.113919Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=89 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.113948Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=89 entry_id=89 connection_id=88 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114022Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=90 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114050Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=90 entry_id=90 connection_id=89 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114124Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=91 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114151Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=91 entry_id=91 connection_id=90 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114216Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=92 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114243Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=92 entry_id=92 connection_id=91 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114323Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=93 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114351Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=93 entry_id=93 connection_id=92 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114431Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=94 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114461Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=94 entry_id=94 connection_id=93 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114557Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=95 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114588Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=95 entry_id=95 connection_id=94 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114670Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=96 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114697Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=96 entry_id=96 connection_id=95 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114775Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=97 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.114803Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=97 entry_id=97 connection_id=96 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.114968Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=98 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.115100Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.115218Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.115274Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.115761Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.121150Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.121237Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.121251Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.121392Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.121571Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=150 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.121515Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.121747Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.121487Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=98 entry_id=98 connection_id=97 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.121898Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=99 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.121924Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=99 entry_id=99 connection_id=98 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.121978Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=100 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.121997Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=100 entry_id=100 connection_id=99 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122046Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=101 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122065Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=101 entry_id=101 connection_id=100 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122112Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=102 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122131Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=102 entry_id=102 connection_id=101 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122180Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=103 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122199Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=103 entry_id=103 connection_id=102 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122246Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=104 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122268Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=104 entry_id=104 connection_id=103 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122323Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=105 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122343Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=105 entry_id=105 connection_id=104 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122390Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=106 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122413Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=106 entry_id=106 connection_id=105 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122459Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=107 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122477Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=107 entry_id=107 connection_id=106 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122534Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=108 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122553Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=108 entry_id=108 connection_id=107 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122602Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=109 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122621Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=109 entry_id=109 connection_id=108 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122668Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=110 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122686Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=110 entry_id=110 connection_id=109 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122733Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=111 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.122752Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=111 entry_id=111 connection_id=110 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.122798Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=112 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.123308Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.123413Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=95 slots_to_advance=9 max_advance=9 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.123904Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.124038Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124113Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=2 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124181Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124212Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124291Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124319Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=4 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124419Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124449Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=5 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124551Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124580Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=6 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124672Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.124709Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=7 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.124937Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125012Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125057Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125167Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=90 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125213Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125313Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=90 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125355Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=90 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125398Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=90 slots_to_advance=9 max_advance=9 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125438Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=89 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125480Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=89 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125541Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=87 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125583Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=88 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125624Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=88 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125668Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=88 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125712Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=85 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125754Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=86 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125803Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=87 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125946Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=85 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.125987Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=86 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126022Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=84 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126057Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=85 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126092Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=84 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126125Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=14 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.126157Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=93 slots_to_advance=9 max_advance=9 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.126273Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126312Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=82 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126347Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126379Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=2 [INFO] [stdout] 2026-01-16T03:01:58.126417Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=84 slots_to_advance=8 max_advance=8 current_slot=4 [INFO] [stdout] 2026-01-16T03:01:58.126453Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=82 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126488Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=82 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.126695Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=51 slots_to_advance=5 max_advance=5 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.122817Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=112 entry_id=112 connection_id=111 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.127085Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=113 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.127277Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=113 entry_id=113 connection_id=112 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.127438Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=114 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.127512Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=114 entry_id=114 connection_id=113 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.127467Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.127850Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.127642Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=115 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.124812Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.128208Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.128138Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=8 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.128284Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=115 entry_id=115 connection_id=114 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.128631Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=10 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.128729Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=116 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.128776Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=116 entry_id=116 connection_id=115 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.108638Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=47 state=Established [INFO] [stdout] 2026-01-16T03:01:58.128885Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=117 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.110740Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 2, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.128751Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=10 entry_id=10 connection_id=9 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129070Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.128990Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 3, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.128048Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.129124Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 4, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.129248Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=117 entry_id=117 connection_id=116 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129322Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=118 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129336Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=11 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.129250Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 5, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.129352Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=118 entry_id=118 connection_id=117 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129370Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=11 entry_id=11 connection_id=10 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129427Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=119 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129459Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=119 entry_id=119 connection_id=118 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129379Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 6, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.129485Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=12 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.129515Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=12 entry_id=12 connection_id=11 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129513Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=120 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129542Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=120 entry_id=120 connection_id=119 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129500Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 1200, recv_window_size: 256, timestamp: 1, sequence_number: 7, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.129599Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=121 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129621Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=121 entry_id=121 connection_id=120 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129638Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=13 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.129668Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=13 entry_id=13 connection_id=12 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129622Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=48 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 148, payload_length: 640, recv_window_size: 256, timestamp: 1, sequence_number: 8, recv_next_sequence: 1 }, payload: b"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////" } [INFO] [stdout] 2026-01-16T03:01:58.129680Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=122 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129701Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=122 entry_id=122 connection_id=121 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129710Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=48 state=Established [INFO] [stdout] 2026-01-16T03:01:58.129751Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=123 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.129770Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=123 entry_id=123 connection_id=122 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129775Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=14 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.129804Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=14 entry_id=14 connection_id=13 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.129939Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=15 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.129989Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=15 entry_id=15 connection_id=14 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130093Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=16 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130128Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=16 entry_id=16 connection_id=15 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=17 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130285Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=17 entry_id=17 connection_id=16 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130393Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=18 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130422Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=18 entry_id=18 connection_id=17 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130534Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=19 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130564Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=19 entry_id=19 connection_id=18 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130675Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=20 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130705Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=20 entry_id=20 connection_id=19 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130821Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=21 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130869Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=21 entry_id=21 connection_id=20 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.130948Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=22 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.130975Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=22 entry_id=22 connection_id=21 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131046Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=23 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131073Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=23 entry_id=23 connection_id=22 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131144Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=24 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131171Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=24 entry_id=24 connection_id=23 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=25 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131280Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=25 entry_id=25 connection_id=24 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131469Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=26 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131498Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=26 entry_id=26 connection_id=25 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131563Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=27 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131590Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=27 entry_id=27 connection_id=26 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131662Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=28 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131689Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=28 entry_id=28 connection_id=27 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131763Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=29 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131814Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=29 entry_id=29 connection_id=28 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131907Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=30 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.131930Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:58.131933Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=30 entry_id=30 connection_id=29 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.131970Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.131996Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=31 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.132019Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=384757967 [INFO] [stdout] 2026-01-16T03:01:58.132057Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.133343Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.133396Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.133438Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.133462Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.129819Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=124 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.133554Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=124 entry_id=124 connection_id=123 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.133629Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=125 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.133666Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=125 entry_id=125 connection_id=124 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.133745Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=126 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.133780Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=126 entry_id=126 connection_id=125 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.133880Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=127 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.133918Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=127 entry_id=127 connection_id=126 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.133995Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=128 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.134028Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=128 entry_id=128 connection_id=127 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134122Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=129 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.134163Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=129 entry_id=129 connection_id=128 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134190Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:58.134246Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=130 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.134281Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=130 entry_id=130 connection_id=129 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134348Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=131 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.134237Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.132018Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=31 entry_id=31 connection_id=30 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134548Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=32 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.134592Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=32 entry_id=32 connection_id=31 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134731Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=33 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.134771Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=33 entry_id=33 connection_id=32 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134908Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=34 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.134947Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=34 entry_id=34 connection_id=33 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.136549Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=45 [INFO] [stdout] 2026-01-16T03:01:58.136854Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Established [INFO] [stdout] 2026-01-16T03:01:58.137233Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=35 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.137276Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=35 entry_id=35 connection_id=34 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.137386Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=36 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.137421Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=36 entry_id=36 connection_id=35 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.137530Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=37 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.137566Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=37 entry_id=37 connection_id=36 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.134385Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=131 entry_id=131 connection_id=130 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.137695Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=132 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.137724Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=132 entry_id=132 connection_id=131 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.137773Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=139 [INFO] [stdout] 2026-01-16T03:01:58.137786Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=133 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.137981Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=38 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.138010Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=38 entry_id=38 connection_id=37 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.138116Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=39 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.138143Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=39 entry_id=39 connection_id=38 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.137810Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=Established [INFO] [stdout] 2026-01-16T03:01:58.137809Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=133 entry_id=133 connection_id=132 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.138599Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=134 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.138635Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=134 entry_id=134 connection_id=133 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.138708Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=135 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.138742Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=135 entry_id=135 connection_id=134 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.138842Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=136 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.138883Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=136 entry_id=136 connection_id=135 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.138959Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=137 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.138994Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=137 entry_id=137 connection_id=136 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139096Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=138 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139136Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=138 entry_id=138 connection_id=137 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139234Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=139 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139271Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=139 entry_id=139 connection_id=138 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139345Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=140 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139385Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=140 entry_id=140 connection_id=139 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139469Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=141 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139506Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=141 entry_id=141 connection_id=140 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139595Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=142 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139635Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=142 entry_id=142 connection_id=141 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139722Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=143 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.139760Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=143 entry_id=143 connection_id=142 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.139889Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=40 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.139932Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=40 entry_id=40 connection_id=39 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] test timer::parallel::tests::test_strategy_selection ... ok [INFO] [stdout] 2026-01-16T03:01:58.140072Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.140122Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.140256Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=41 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.140282Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.140299Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=41 entry_id=41 connection_id=40 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140472Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=42 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.140512Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=42 entry_id=42 connection_id=41 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140577Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.140639Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.140641Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=43 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.140671Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=43 entry_id=43 connection_id=42 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140704Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.140751Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140797Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=44 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.140851Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=44 entry_id=44 connection_id=43 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140876Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=468 delay_ms=61000 [INFO] [stdout] 2026-01-16T03:01:58.140903Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=61000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.140986Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=56 delay_ms=62000 [INFO] [stdout] 2026-01-16T03:01:58.141015Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=2 delay_ms=62000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141089Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=156 delay_ms=63000 [INFO] [stdout] 2026-01-16T03:01:58.141119Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3 delay_ms=63000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141198Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=256 delay_ms=64000 [INFO] [stdout] 2026-01-16T03:01:58.141224Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=4 delay_ms=64000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141294Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=356 delay_ms=65000 [INFO] [stdout] 2026-01-16T03:01:58.141317Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=5 delay_ms=65000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141380Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=456 delay_ms=66000 [INFO] [stdout] 2026-01-16T03:01:58.141403Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=6 delay_ms=66000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141488Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=44 delay_ms=67000 [INFO] [stdout] 2026-01-16T03:01:58.141537Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=7 delay_ms=67000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141611Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=144 delay_ms=68000 [INFO] [stdout] 2026-01-16T03:01:58.141645Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=8 delay_ms=68000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141715Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=10 slot_index=244 delay_ms=69000 [INFO] [stdout] 2026-01-16T03:01:58.141750Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=10 entry_id=10 connection_id=9 delay_ms=69000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.141949Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=11 slot_index=344 delay_ms=70000 [INFO] [stdout] 2026-01-16T03:01:58.141985Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=11 entry_id=11 connection_id=10 delay_ms=70000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142036Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=47 [INFO] [stdout] 2026-01-16T03:01:58.142056Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=12 slot_index=444 delay_ms=71000 [INFO] [stdout] 2026-01-16T03:01:58.142080Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=12 entry_id=12 connection_id=11 delay_ms=71000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142084Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.142107Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.142128Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.142139Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.142149Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.142146Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=13 slot_index=32 delay_ms=72000 [INFO] [stdout] 2026-01-16T03:01:58.142159Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.142169Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.142172Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=13 entry_id=13 connection_id=12 delay_ms=72000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142182Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.142194Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.142247Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=14 slot_index=132 delay_ms=73000 [INFO] [stdout] 2026-01-16T03:01:58.142281Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=14 entry_id=14 connection_id=13 delay_ms=73000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142212Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 0, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.142329Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=150 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.142363Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=15 slot_index=232 delay_ms=74000 [INFO] [stdout] 2026-01-16T03:01:58.142400Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=15 entry_id=15 connection_id=14 delay_ms=74000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142339Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 1, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.142465Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=16 slot_index=332 delay_ms=75000 [INFO] [stdout] 2026-01-16T03:01:58.142489Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=16 entry_id=16 connection_id=15 delay_ms=75000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142532Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=45 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.142453Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 2, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.142565Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=45 entry_id=45 connection_id=44 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142574Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=17 slot_index=432 delay_ms=76000 [INFO] [stdout] 2026-01-16T03:01:58.142600Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=17 entry_id=17 connection_id=16 delay_ms=76000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142640Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=46 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.142569Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 3, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.142664Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=46 entry_id=46 connection_id=45 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142674Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=18 slot_index=20 delay_ms=77000 [INFO] [stdout] 2026-01-16T03:01:58.142700Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=18 entry_id=18 connection_id=17 delay_ms=77000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142727Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=47 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.142750Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=47 entry_id=47 connection_id=46 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142764Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=19 slot_index=120 delay_ms=78000 [INFO] [stdout] 2026-01-16T03:01:58.142681Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 4, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.142791Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=19 entry_id=19 connection_id=18 delay_ms=78000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142811Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=48 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.142855Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=48 entry_id=48 connection_id=47 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142893Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=20 slot_index=220 delay_ms=79000 [INFO] [stdout] 2026-01-16T03:01:58.142921Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=20 entry_id=20 connection_id=19 delay_ms=79000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142924Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=49 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.142949Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=49 entry_id=49 connection_id=48 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142989Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=21 slot_index=320 delay_ms=80000 [INFO] [stdout] 2026-01-16T03:01:58.143015Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=21 entry_id=21 connection_id=20 delay_ms=80000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143031Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=144 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143065Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=144 entry_id=144 connection_id=143 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143079Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=22 slot_index=420 delay_ms=81000 [INFO] [stdout] 2026-01-16T03:01:58.143104Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=22 entry_id=22 connection_id=21 delay_ms=81000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143138Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=145 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143171Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=145 entry_id=145 connection_id=144 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143213Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.143242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=146 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143269Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=146 entry_id=146 connection_id=145 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143273Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=23 slot_index=8 delay_ms=82000 [INFO] [stdout] 2026-01-16T03:01:58.143300Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=23 entry_id=23 connection_id=22 delay_ms=82000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143341Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=147 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143377Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=147 entry_id=147 connection_id=146 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143379Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=24 slot_index=108 delay_ms=83000 [INFO] [stdout] 2026-01-16T03:01:58.143443Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=24 entry_id=24 connection_id=23 delay_ms=83000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143473Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=148 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143514Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=148 entry_id=148 connection_id=147 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143527Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=25 slot_index=208 delay_ms=84000 [INFO] [stdout] 2026-01-16T03:01:58.143556Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=25 entry_id=25 connection_id=24 delay_ms=84000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143602Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=149 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143634Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=26 slot_index=308 delay_ms=85000 [INFO] [stdout] 2026-01-16T03:01:58.143635Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=149 entry_id=149 connection_id=148 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143659Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=26 entry_id=26 connection_id=25 delay_ms=85000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143709Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=150 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143734Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=27 slot_index=408 delay_ms=86000 [INFO] [stdout] 2026-01-16T03:01:58.143742Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=150 entry_id=150 connection_id=149 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143759Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=27 entry_id=27 connection_id=26 delay_ms=86000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143810Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=151 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143849Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=28 slot_index=508 delay_ms=87000 [INFO] [stdout] 2026-01-16T03:01:58.143857Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=151 entry_id=151 connection_id=150 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143876Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=28 entry_id=28 connection_id=27 delay_ms=87000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143928Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=152 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.143939Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=50 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.143953Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=152 entry_id=152 connection_id=151 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.143966Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=29 slot_index=96 delay_ms=88000 [INFO] [stdout] 2026-01-16T03:01:58.144012Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=153 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.144016Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=29 entry_id=29 connection_id=28 delay_ms=88000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144035Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=153 entry_id=153 connection_id=152 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144090Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=30 slot_index=196 delay_ms=89000 [INFO] [stdout] 2026-01-16T03:01:58.144098Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=154 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.144114Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=30 entry_id=30 connection_id=29 delay_ms=89000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144126Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=154 entry_id=154 connection_id=153 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144178Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=31 slot_index=296 delay_ms=90000 [INFO] [stdout] 2026-01-16T03:01:58.144200Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=155 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.144203Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=31 entry_id=31 connection_id=30 delay_ms=90000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144227Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=155 entry_id=155 connection_id=154 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144276Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=32 slot_index=396 delay_ms=91000 [INFO] [stdout] 2026-01-16T03:01:58.144293Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.144299Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=156 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.144302Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=32 entry_id=32 connection_id=31 delay_ms=91000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144325Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=156 entry_id=156 connection_id=155 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144375Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=33 slot_index=496 delay_ms=92000 [INFO] [stdout] 2026-01-16T03:01:58.144392Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=157 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.144400Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=33 entry_id=33 connection_id=32 delay_ms=92000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144419Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=157 entry_id=157 connection_id=156 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144478Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=34 slot_index=84 delay_ms=93000 [INFO] [stdout] 2026-01-16T03:01:58.144548Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=50 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.144572Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=50 entry_id=50 connection_id=49 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144527Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=34 entry_id=34 connection_id=33 delay_ms=93000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144691Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=35 slot_index=184 delay_ms=94000 [INFO] [stdout] 2026-01-16T03:01:58.144716Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=35 entry_id=35 connection_id=34 delay_ms=94000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144731Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=51 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.144760Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=51 entry_id=51 connection_id=50 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144776Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=36 slot_index=284 delay_ms=95000 [INFO] [stdout] 2026-01-16T03:01:58.144799Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=36 entry_id=36 connection_id=35 delay_ms=95000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144884Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=37 slot_index=384 delay_ms=96000 [INFO] [stdout] 2026-01-16T03:01:58.144339Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.144910Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=37 entry_id=37 connection_id=36 delay_ms=96000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144907Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=52 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.144940Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=50 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144946Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=52 entry_id=52 connection_id=51 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.144975Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=38 slot_index=484 delay_ms=97000 [INFO] [stdout] 2026-01-16T03:01:58.144998Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=38 entry_id=38 connection_id=37 delay_ms=97000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145059Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=39 slot_index=72 delay_ms=98000 [INFO] [stdout] 2026-01-16T03:01:58.145087Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=39 entry_id=39 connection_id=38 delay_ms=98000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145147Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=40 slot_index=172 delay_ms=99000 [INFO] [stdout] 2026-01-16T03:01:58.145170Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=40 entry_id=40 connection_id=39 delay_ms=99000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145171Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=53 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.145200Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=53 entry_id=53 connection_id=52 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145230Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=41 slot_index=272 delay_ms=100000 [INFO] [stdout] 2026-01-16T03:01:58.145254Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=41 entry_id=41 connection_id=40 delay_ms=100000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145299Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=54 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.145318Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=42 slot_index=372 delay_ms=101000 [INFO] [stdout] 2026-01-16T03:01:58.145325Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=54 entry_id=54 connection_id=53 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145342Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=42 entry_id=42 connection_id=41 delay_ms=101000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145400Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=55 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.145447Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=55 entry_id=55 connection_id=54 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145510Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=56 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.145550Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=56 entry_id=56 connection_id=55 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146185Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=49 remote_addr=127.0.0.1:8000 [INFO] [stdout] 2026-01-16T03:01:58.146263Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.146272Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=57 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.146317Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.146343Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=49 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146353Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=57 entry_id=57 connection_id=56 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146418Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.146425Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=58 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.146439Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=49 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.146449Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=58 entry_id=58 connection_id=57 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146532Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=59 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.146549Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=149 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.146570Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=59 entry_id=59 connection_id=58 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146578Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=149 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.146609Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.144481Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=158 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.146619Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.146634Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=149 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.146632Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=158 entry_id=158 connection_id=157 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146649Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=149 remote_addr=127.0.0.1:9048 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 49, source_cid: 149 } } [INFO] [stdout] 2026-01-16T03:01:58.146685Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=149 [INFO] [stdout] 2026-01-16T03:01:58.146716Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=149 state=Established [INFO] [stdout] 2026-01-16T03:01:58.146789Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 49 } } [INFO] [stdout] 2026-01-16T03:01:58.146809Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=60 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.146868Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=60 entry_id=60 connection_id=59 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146713Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=159 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.146942Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=159 entry_id=159 connection_id=158 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147048Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=61 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.147090Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=61 entry_id=61 connection_id=60 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147148Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=160 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.147183Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=160 entry_id=160 connection_id=159 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147347Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=62 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.147386Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=62 entry_id=62 connection_id=61 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147268Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=161 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.147468Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=161 entry_id=161 connection_id=160 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147563Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=162 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.147601Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=162 entry_id=162 connection_id=161 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147685Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=163 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.147720Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=163 entry_id=163 connection_id=162 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.145407Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=43 slot_index=472 delay_ms=102000 [INFO] [stdout] 2026-01-16T03:01:58.147854Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=63 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.147914Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.147945Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=50 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.147945Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=63 entry_id=63 connection_id=62 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.147960Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=164 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.147991Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=164 entry_id=164 connection_id=163 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148050Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=64 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.148070Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=165 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148077Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=64 entry_id=64 connection_id=63 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148099Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=165 entry_id=165 connection_id=164 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148146Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=65 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.148170Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=65 entry_id=65 connection_id=64 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148173Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=166 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148201Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=166 entry_id=166 connection_id=165 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148223Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=43 entry_id=43 connection_id=42 delay_ms=102000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148260Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:58.148271Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=167 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148287Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:58.148299Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=167 entry_id=167 connection_id=166 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148312Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=44 slot_index=60 delay_ms=103000 [INFO] [stdout] 2026-01-16T03:01:58.148338Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=44 entry_id=44 connection_id=43 delay_ms=103000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148373Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=168 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148398Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=168 entry_id=168 connection_id=167 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148399Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=45 slot_index=160 delay_ms=104000 [INFO] [stdout] 2026-01-16T03:01:58.148424Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=45 entry_id=45 connection_id=44 delay_ms=104000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148463Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=169 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148487Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=46 slot_index=260 delay_ms=105000 [INFO] [stdout] 2026-01-16T03:01:58.148488Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=169 entry_id=169 connection_id=168 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148512Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=46 entry_id=46 connection_id=45 delay_ms=105000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148572Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=170 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148588Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=47 slot_index=360 delay_ms=106000 [INFO] [stdout] 2026-01-16T03:01:58.148600Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=170 entry_id=170 connection_id=169 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148616Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=47 entry_id=47 connection_id=46 delay_ms=106000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148671Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=171 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.148688Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=48 slot_index=460 delay_ms=107000 [INFO] [stdout] 2026-01-16T03:01:58.148849Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=48 entry_id=48 connection_id=47 delay_ms=107000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.148929Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=49 slot_index=48 delay_ms=108000 [INFO] [stdout] 2026-01-16T03:01:58.148952Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=49 entry_id=49 connection_id=48 delay_ms=108000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149017Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=50 slot_index=148 delay_ms=109000 [INFO] [stdout] 2026-01-16T03:01:58.149041Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=50 entry_id=50 connection_id=49 delay_ms=109000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149109Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=51 slot_index=248 delay_ms=110000 [INFO] [stdout] 2026-01-16T03:01:58.149135Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=51 entry_id=51 connection_id=50 delay_ms=110000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149213Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=52 slot_index=348 delay_ms=111000 [INFO] [stdout] 2026-01-16T03:01:58.149239Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=52 entry_id=52 connection_id=51 delay_ms=111000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149309Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=53 slot_index=448 delay_ms=112000 [INFO] [stdout] 2026-01-16T03:01:58.149347Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=53 entry_id=53 connection_id=52 delay_ms=112000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149411Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=54 slot_index=36 delay_ms=113000 [INFO] [stdout] 2026-01-16T03:01:58.149453Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=54 entry_id=54 connection_id=53 delay_ms=113000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149541Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=55 slot_index=136 delay_ms=114000 [INFO] [stdout] 2026-01-16T03:01:58.149567Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=55 entry_id=55 connection_id=54 delay_ms=114000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149643Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=56 slot_index=236 delay_ms=115000 [INFO] [stdout] 2026-01-16T03:01:58.149683Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=56 entry_id=56 connection_id=55 delay_ms=115000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149773Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=57 slot_index=336 delay_ms=116000 [INFO] [stdout] 2026-01-16T03:01:58.149880Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=57 entry_id=57 connection_id=56 delay_ms=116000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.149953Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:58.149977Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:58.149974Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=58 slot_index=436 delay_ms=117000 [INFO] [stdout] 2026-01-16T03:01:58.150001Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=58 entry_id=58 connection_id=57 delay_ms=117000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150068Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=59 slot_index=24 delay_ms=118000 [INFO] [stdout] 2026-01-16T03:01:58.150082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:58.150105Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150167Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:58.150093Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=59 entry_id=59 connection_id=58 delay_ms=118000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150198Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150211Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:58.150247Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 2 } } [INFO] [stdout] 2026-01-16T03:01:58.150252Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:58.150266Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=60 slot_index=124 delay_ms=119000 [INFO] [stdout] 2026-01-16T03:01:58.150275Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150296Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=60 entry_id=60 connection_id=59 delay_ms=119000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150344Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:58.150363Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=61 slot_index=224 delay_ms=120000 [INFO] [stdout] 2026-01-16T03:01:58.150375Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150387Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=61 entry_id=61 connection_id=60 delay_ms=120000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150410Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:58.150433Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150459Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=62 slot_index=324 delay_ms=121000 [INFO] [stdout] 2026-01-16T03:01:58.150483Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:58.150493Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=62 entry_id=62 connection_id=61 delay_ms=121000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150502Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150575Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:58.150583Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=63 slot_index=424 delay_ms=122000 [INFO] [stdout] 2026-01-16T03:01:58.150598Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150609Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=63 entry_id=63 connection_id=62 delay_ms=122000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150627Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:58.150639Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150675Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:58.150704Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150721Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=66 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.150748Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:58.150745Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=66 entry_id=66 connection_id=65 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150763Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:58.150812Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:58.150894Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=67 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.150673Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=64 slot_index=12 delay_ms=123000 [INFO] [stdout] 2026-01-16T03:01:58.151053Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=73 slots_to_advance=7 max_advance=7 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.161181Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=67 entry_id=67 connection_id=66 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.151142Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.161318Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:58.161424Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:58.161446Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=Established [INFO] [stdout] 2026-01-16T03:01:58.161473Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=68 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.161507Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=138 [INFO] [stdout] 2026-01-16T03:01:58.161508Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=68 entry_id=68 connection_id=67 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.161535Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=Established [INFO] [stdout] 2026-01-16T03:01:58.161607Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=92 slots_to_advance=9 max_advance=9 current_slot=24 [INFO] [stdout] 2026-01-16T03:01:58.161642Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=69 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.161671Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=69 entry_id=69 connection_id=68 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.161751Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.161778Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=70 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.161814Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3 [INFO] [stdout] 2026-01-16T03:01:58.161810Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=70 entry_id=70 connection_id=69 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.161850Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:58.151310Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.161884Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=141 [INFO] [stdout] 2026-01-16T03:01:58.161899Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=Established [INFO] [stdout] 2026-01-16T03:01:58.148696Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=171 entry_id=171 connection_id=170 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.150271Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=102 peer_cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.161934Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:58.161951Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:58.146199Z  INFO kestrel_protocol::core::tests::retransmission: --- RTO Recovery Test Passed --- [INFO] [stdout] 2026-01-16T03:01:58.161991Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=35 [INFO] [stdout] 2026-01-16T03:01:58.162010Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162002Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162042Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=142 [INFO] [stdout] 2026-01-16T03:01:58.162058Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162059Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Ack { header: ShortHeader { command: Ack, connection_id: 102, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.162063Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.162093Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=40 [INFO] [stdout] 2026-01-16T03:01:58.162099Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 102, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.162110Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162129Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=102 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162151Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=102 [INFO] [stdout] 2026-01-16T03:01:58.162153Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=41 [INFO] [stdout] 2026-01-16T03:01:58.162172Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162171Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=102 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.162211Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=143 [INFO] [stdout] 2026-01-16T03:01:58.162227Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=143 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162234Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.162238Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=71 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.162257Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.162264Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:58.162269Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=71 entry_id=71 connection_id=70 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.162283Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162280Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=349 srtt_ms=349 rttvar_ms=174 rto_ms=1047 [INFO] [stdout] 2026-01-16T03:01:58.162306Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] test timer::parallel::tests::test_single_thread_bypass ... 2026-01-16T03:01:58.162318Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:58.162333Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=145 [INFO] [stdout] 2026-01-16T03:01:58.162348Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=145 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162375Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:58.162375Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=72 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.162388Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162406Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=72 entry_id=72 connection_id=71 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.162426Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:58.162444Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162475Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=146 [INFO] [stdout] 2026-01-16T03:01:58.162489Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=146 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162514Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:58.162537Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162531Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=73 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.162560Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=73 entry_id=73 connection_id=72 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.162571Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:58.162586Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162622Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:58.162348Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.162654Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1 } } [INFO] [stdout] 2026-01-16T03:01:58.162686Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=101 peer_cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162701Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162719Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Ack { header: ShortHeader { command: Ack, connection_id: 101, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.162743Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 101, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.162764Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=101 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.162769Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=74 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.162783Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=101 [INFO] [stdout] 2026-01-16T03:01:58.162801Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=101 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.162799Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=74 entry_id=74 connection_id=73 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.162841Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.162899Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=75 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.162931Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=75 entry_id=75 connection_id=74 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.162669Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.163014Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.163028Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=76 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163043Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.163054Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=76 entry_id=76 connection_id=75 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163061Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.163085Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 255, timestamp: 351, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.163126Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.163135Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=77 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163159Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=77 entry_id=77 connection_id=76 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163177Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=100 delay_ms=1000 [INFO] [stdout] 2026-01-16T03:01:58.163224Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=78 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163233Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=1000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163247Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=78 entry_id=78 connection_id=77 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163316Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=79 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163340Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=79 entry_id=79 connection_id=78 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163352Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=110 delay_ms=1100 [INFO] [stdout] 2026-01-16T03:01:58.163396Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=80 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163407Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=1100 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163135Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.163422Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=80 entry_id=80 connection_id=79 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163487Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=81 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163514Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=120 delay_ms=1200 [INFO] [stdout] 2026-01-16T03:01:58.163512Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=81 entry_id=81 connection_id=80 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163539Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=1 delay_ms=1200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163586Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=82 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.163614Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=82 entry_id=82 connection_id=81 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163667Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=64 entry_id=64 connection_id=63 delay_ms=123000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163671Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=1 [INFO] [stdout] 2026-01-16T03:01:58.163723Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.163737Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=3 [INFO] [stdout] 2026-01-16T03:01:58.163446Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.163756Z DEBUG kestrel_protocol::timer::task::global: Cleared all timers for connection connection_id=1 count=3 [INFO] [stdout] 2026-01-16T03:01:58.163754Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=65 slot_index=112 delay_ms=124000 [INFO] [stdout] 2026-01-16T03:01:58.163761Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.163783Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.163782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=65 entry_id=65 connection_id=64 delay_ms=124000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163812Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 254, timestamp: 351, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.163879Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=66 slot_index=212 delay_ms=125000 [INFO] [stdout] 2026-01-16T03:01:58.163906Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=66 entry_id=66 connection_id=65 delay_ms=125000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163975Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=67 slot_index=312 delay_ms=126000 [INFO] [stdout] 2026-01-16T03:01:58.164105Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=67 entry_id=67 connection_id=66 delay_ms=126000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.163869Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.164191Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=68 slot_index=412 delay_ms=127000 [INFO] [stdout] 2026-01-16T03:01:58.164220Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=68 entry_id=68 connection_id=67 delay_ms=127000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164311Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=69 slot_index=0 delay_ms=128000 [INFO] [stdout] 2026-01-16T03:01:58.164337Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=69 entry_id=69 connection_id=68 delay_ms=128000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164403Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=70 slot_index=100 delay_ms=129000 [INFO] [stdout] 2026-01-16T03:01:58.164438Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=70 entry_id=70 connection_id=69 delay_ms=129000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164191Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.164508Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.164554Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.164559Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=83 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.164582Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=83 entry_id=83 connection_id=82 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164584Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 253, timestamp: 352, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.164699Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=84 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.164736Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=84 entry_id=84 connection_id=83 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164807Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=85 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.164860Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=85 entry_id=85 connection_id=84 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164622Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.164973Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=86 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165002Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=86 entry_id=86 connection_id=85 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165081Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=87 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165126Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=87 entry_id=87 connection_id=86 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165193Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=88 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165227Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=88 entry_id=88 connection_id=87 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.164965Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.165278Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.165292Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=89 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165300Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.165317Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=89 entry_id=89 connection_id=88 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165327Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 252, timestamp: 353, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.165480Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=90 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165524Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=90 entry_id=90 connection_id=89 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165597Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=91 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.165628Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=91 entry_id=91 connection_id=90 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165633Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.165359Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.164513Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=71 slot_index=200 delay_ms=130000 [INFO] [stdout] 2026-01-16T03:01:58.165693Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=71 entry_id=71 connection_id=70 delay_ms=130000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165772Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=72 slot_index=300 delay_ms=131000 [INFO] [stdout] 2026-01-16T03:01:58.165797Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=72 entry_id=72 connection_id=71 delay_ms=131000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165898Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=73 slot_index=400 delay_ms=132000 [INFO] [stdout] 2026-01-16T03:01:58.165933Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=73 entry_id=73 connection_id=72 delay_ms=132000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165999Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=74 slot_index=500 delay_ms=133000 [INFO] [stdout] 2026-01-16T03:01:58.166023Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=74 entry_id=74 connection_id=73 delay_ms=133000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166083Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=75 slot_index=88 delay_ms=134000 [INFO] [stdout] 2026-01-16T03:01:58.166119Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=75 entry_id=75 connection_id=74 delay_ms=134000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.165660Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.166190Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=76 slot_index=188 delay_ms=135000 [INFO] [stdout] 2026-01-16T03:01:58.166216Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=76 entry_id=76 connection_id=75 delay_ms=135000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166216Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=350 srtt_ms=350 rttvar_ms=175 rto_ms=1051 [INFO] [stdout] 2026-01-16T03:01:58.166241Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.166253Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.166254Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=172 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166283Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=77 slot_index=288 delay_ms=136000 [INFO] [stdout] 2026-01-16T03:01:58.166299Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=172 entry_id=172 connection_id=171 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166309Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=77 entry_id=77 connection_id=76 delay_ms=136000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166376Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=78 slot_index=388 delay_ms=137000 [INFO] [stdout] 2026-01-16T03:01:58.166376Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=173 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166400Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=78 entry_id=78 connection_id=77 delay_ms=137000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166405Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=173 entry_id=173 connection_id=172 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166282Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.166468Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=174 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166469Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=79 slot_index=488 delay_ms=138000 [INFO] [stdout] 2026-01-16T03:01:58.166493Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=174 entry_id=174 connection_id=173 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166497Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=79 entry_id=79 connection_id=78 delay_ms=138000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166437Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.166575Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=80 slot_index=76 delay_ms=139000 [INFO] [stdout] 2026-01-16T03:01:58.166573Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=175 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166587Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.166600Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=80 entry_id=80 connection_id=79 delay_ms=139000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166606Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.166606Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=175 entry_id=175 connection_id=174 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166641Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 255, timestamp: 355, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.166665Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=81 slot_index=176 delay_ms=140000 [INFO] [stdout] 2026-01-16T03:01:58.166679Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=176 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166689Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=81 entry_id=81 connection_id=80 delay_ms=140000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166705Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=176 entry_id=176 connection_id=175 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166772Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=177 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166797Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=177 entry_id=177 connection_id=176 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166681Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.166757Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=82 slot_index=276 delay_ms=141000 [INFO] [stdout] 2026-01-16T03:01:58.166888Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=178 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166899Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=82 entry_id=82 connection_id=81 delay_ms=141000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166916Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=178 entry_id=178 connection_id=177 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.166842Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.166978Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=83 slot_index=376 delay_ms=142000 [INFO] [stdout] 2026-01-16T03:01:58.166985Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=179 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.166987Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.167003Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=83 entry_id=83 connection_id=82 delay_ms=142000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167008Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.167011Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=179 entry_id=179 connection_id=178 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167034Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 254, timestamp: 355, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.167075Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=84 slot_index=476 delay_ms=143000 [INFO] [stdout] 2026-01-16T03:01:58.167078Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=180 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167101Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=84 entry_id=84 connection_id=83 delay_ms=143000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167104Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=180 entry_id=180 connection_id=179 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167170Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=181 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167171Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=85 slot_index=64 delay_ms=144000 [INFO] [stdout] 2026-01-16T03:01:58.167067Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.167198Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=181 entry_id=181 connection_id=180 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167201Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=85 entry_id=85 connection_id=84 delay_ms=144000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167266Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=182 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167273Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=86 slot_index=164 delay_ms=145000 [INFO] [stdout] 2026-01-16T03:01:58.167304Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=182 entry_id=182 connection_id=181 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167312Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=86 entry_id=86 connection_id=85 delay_ms=145000 event_type=IdleTimeout [INFO] [stdout] test timer::task::tests::tests::test_clear_connection_timers ... ok [INFO] [stdout] 2026-01-16T03:01:58.167213Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.167374Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.167379Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=183 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167387Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=87 slot_index=264 delay_ms=146000 [INFO] [stdout] 2026-01-16T03:01:58.167408Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=183 entry_id=183 connection_id=182 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167428Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=87 entry_id=87 connection_id=86 delay_ms=146000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167477Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=184 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167502Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=184 entry_id=184 connection_id=183 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167500Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=88 slot_index=364 delay_ms=147000 [INFO] [stdout] 2026-01-16T03:01:58.167534Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=88 entry_id=88 connection_id=87 delay_ms=147000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167579Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=185 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167601Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=89 slot_index=464 delay_ms=148000 [INFO] [stdout] 2026-01-16T03:01:58.167606Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=185 entry_id=185 connection_id=184 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167625Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=89 entry_id=89 connection_id=88 delay_ms=148000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167664Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=186 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167686Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=186 entry_id=186 connection_id=185 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167691Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=90 slot_index=52 delay_ms=149000 [INFO] [stdout] 2026-01-16T03:01:58.167716Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=90 entry_id=90 connection_id=89 delay_ms=149000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167739Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=187 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167764Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=187 entry_id=187 connection_id=186 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167788Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=91 slot_index=152 delay_ms=150000 [INFO] [stdout] 2026-01-16T03:01:58.154756Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.167845Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=188 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167870Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=92 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.167872Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=188 entry_id=188 connection_id=187 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167895Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=92 entry_id=92 connection_id=91 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167940Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=189 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.167964Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=189 entry_id=189 connection_id=188 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168005Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=93 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.168026Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=190 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168032Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=93 entry_id=93 connection_id=92 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168050Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=190 entry_id=190 connection_id=189 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168112Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=191 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168139Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=191 entry_id=191 connection_id=190 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168217Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=192 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168249Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=192 entry_id=192 connection_id=191 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168250Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=94 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.168285Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=94 entry_id=94 connection_id=93 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168336Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=193 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168366Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=193 entry_id=193 connection_id=192 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168406Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=95 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.168435Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=95 entry_id=95 connection_id=94 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168437Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=194 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168464Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=194 entry_id=194 connection_id=193 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168539Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=195 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168546Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=96 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.168564Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=195 entry_id=195 connection_id=194 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168575Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=96 entry_id=96 connection_id=95 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168629Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=196 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168653Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=196 entry_id=196 connection_id=195 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168681Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=97 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.168708Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=197 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168708Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=97 entry_id=97 connection_id=96 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168732Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=197 entry_id=197 connection_id=196 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167393Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.168796Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=198 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168803Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 253, timestamp: 357, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.168841Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=198 entry_id=198 connection_id=197 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168914Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=199 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168935Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=199 entry_id=199 connection_id=198 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.168987Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=200 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.168863Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.169006Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=200 entry_id=200 connection_id=199 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169057Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=201 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.169078Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=201 entry_id=201 connection_id=200 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169086Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.169128Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=202 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.169148Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=202 entry_id=202 connection_id=201 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169019Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.169173Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.169191Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.169205Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=203 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.169218Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 252, timestamp: 357, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.169227Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=203 entry_id=203 connection_id=202 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169292Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=204 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.169316Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=204 entry_id=204 connection_id=203 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169375Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=205 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.169254Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] test core::tests::retransmission::test_rto_recovery_on_single_packet_loss ... ok [INFO] [stdout] 2026-01-16T03:01:58.174733Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] test timer::parallel::tests::test_error_handling ... ok [INFO] [stdout] 2026-01-16T03:01:58.174942Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.174976Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.175033Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 251, timestamp: 363, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.175052Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.175099Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.175280Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.175331Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.175392Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.175288Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.175439Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.175457Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.175484Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.175519Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 250, timestamp: 364, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.175553Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=468 delay_ms=61000 [INFO] [stdout] 2026-01-16T03:01:58.175582Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=61000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.175677Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=56 delay_ms=62000 [INFO] [stdout] 2026-01-16T03:01:58.175563Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.175715Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=1 delay_ms=62000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.175800Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=156 delay_ms=63000 [INFO] [stdout] 2026-01-16T03:01:58.175858Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=1 delay_ms=63000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.175726Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.175934Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.169453Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=98 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.176042Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=98 entry_id=98 connection_id=97 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.167813Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=91 entry_id=91 connection_id=90 delay_ms=150000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.169856Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2239892301 state=FinWait [INFO] [stdout] 2026-01-16T03:01:58.171009Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.176277Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.176325Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4257094000 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.176456Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=92 slot_index=252 delay_ms=151000 [INFO] [stdout] 2026-01-16T03:01:58.176609Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=92 entry_id=92 connection_id=91 delay_ms=151000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.176715Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=93 slot_index=352 delay_ms=152000 [INFO] [stdout] 2026-01-16T03:01:58.176754Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=93 entry_id=93 connection_id=92 delay_ms=152000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.176864Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=94 slot_index=452 delay_ms=153000 [INFO] [stdout] 2026-01-16T03:01:58.176903Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=94 entry_id=94 connection_id=93 delay_ms=153000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.176997Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=95 slot_index=40 delay_ms=154000 [INFO] [stdout] 2026-01-16T03:01:58.177037Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=95 entry_id=95 connection_id=94 delay_ms=154000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177137Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=96 slot_index=140 delay_ms=155000 [INFO] [stdout] 2026-01-16T03:01:58.177177Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=96 entry_id=96 connection_id=95 delay_ms=155000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177273Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=97 slot_index=240 delay_ms=156000 [INFO] [stdout] 2026-01-16T03:01:58.177308Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=97 entry_id=97 connection_id=96 delay_ms=156000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177393Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=98 slot_index=340 delay_ms=157000 [INFO] [stdout] 2026-01-16T03:01:58.177432Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=98 entry_id=98 connection_id=97 delay_ms=157000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177537Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=99 slot_index=440 delay_ms=158000 [INFO] [stdout] 2026-01-16T03:01:58.177574Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=99 entry_id=99 connection_id=98 delay_ms=158000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177658Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=100 slot_index=28 delay_ms=159000 [INFO] [stdout] 2026-01-16T03:01:58.177696Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=100 entry_id=100 connection_id=99 delay_ms=159000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.177794Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=101 slot_index=128 delay_ms=160000 [INFO] [stdout] 2026-01-16T03:01:58.177852Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=101 entry_id=101 connection_id=100 delay_ms=160000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178053Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=102 slot_index=228 delay_ms=161000 [INFO] [stdout] 2026-01-16T03:01:58.178096Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=102 entry_id=102 connection_id=101 delay_ms=161000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178187Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=103 slot_index=328 delay_ms=162000 [INFO] [stdout] 2026-01-16T03:01:58.178226Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=103 entry_id=103 connection_id=102 delay_ms=162000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178319Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=104 slot_index=428 delay_ms=163000 [INFO] [stdout] 2026-01-16T03:01:58.178360Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=104 entry_id=104 connection_id=103 delay_ms=163000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178443Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=105 slot_index=16 delay_ms=164000 [INFO] [stdout] 2026-01-16T03:01:58.178482Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=105 entry_id=105 connection_id=104 delay_ms=164000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178576Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=106 slot_index=116 delay_ms=165000 [INFO] [stdout] 2026-01-16T03:01:58.178611Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=106 entry_id=106 connection_id=105 delay_ms=165000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178692Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=107 slot_index=216 delay_ms=166000 [INFO] [stdout] 2026-01-16T03:01:58.178729Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=107 entry_id=107 connection_id=106 delay_ms=166000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178809Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=108 slot_index=316 delay_ms=167000 [INFO] [stdout] 2026-01-16T03:01:58.178870Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=108 entry_id=108 connection_id=107 delay_ms=167000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.178960Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=109 slot_index=416 delay_ms=168000 [INFO] [stdout] 2026-01-16T03:01:58.178995Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=109 entry_id=109 connection_id=108 delay_ms=168000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.179098Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=110 slot_index=4 delay_ms=169000 [INFO] [stdout] 2026-01-16T03:01:58.179137Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=110 entry_id=110 connection_id=109 delay_ms=169000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.179217Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=111 slot_index=104 delay_ms=170000 [INFO] [stdout] 2026-01-16T03:01:58.179256Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=111 entry_id=111 connection_id=110 delay_ms=170000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.179466Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=112 slot_index=204 delay_ms=171000 [INFO] [stdout] 2026-01-16T03:01:58.179508Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=112 entry_id=112 connection_id=111 delay_ms=171000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.179651Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=113 slot_index=304 delay_ms=172000 [INFO] [stdout] 2026-01-16T03:01:58.179770Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=113 entry_id=113 connection_id=112 delay_ms=172000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.146817Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=49 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.179872Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=99 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.179890Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=49 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 49, source_cid: 149 } } [INFO] [stdout] 2026-01-16T03:01:58.179913Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=99 entry_id=99 connection_id=98 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.179924Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 49, source_cid: 149 } } [INFO] [stdout] 2026-01-16T03:01:58.179961Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=49 peer_cid=149 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.180061Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=148 [INFO] [stdout] 2026-01-16T03:01:58.165668Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.180100Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=148 state=Established [INFO] [stdout] 2026-01-16T03:01:58.169399Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=205 entry_id=205 connection_id=204 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180078Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=100 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.180156Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=100 entry_id=100 connection_id=99 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.175942Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=256 delay_ms=64000 [INFO] [stdout] 2026-01-16T03:01:58.180205Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=1 delay_ms=64000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180220Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.180168Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=147 [INFO] [stdout] 2026-01-16T03:01:58.180220Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=206 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.180264Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=147 state=Established [INFO] [stdout] 2026-01-16T03:01:58.180265Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=206 entry_id=206 connection_id=205 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180309Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=344 delay_ms=70000 [INFO] [stdout] 2026-01-16T03:01:58.180345Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=2 delay_ms=70000 event_type=RetransmissionTimeout [INFO] [stdout] 2026-01-16T03:01:58.180352Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=207 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.180350Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:58.180382Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=207 entry_id=207 connection_id=206 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180395Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:58.180446Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=101 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.180466Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.180483Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.180559Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.180592Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=114 slot_index=404 delay_ms=173000 [INFO] [stdout] 2026-01-16T03:01:58.180613Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:58.180613Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.180678Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180721Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=444 delay_ms=71000 [INFO] [stdout] 2026-01-16T03:01:58.180487Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=101 entry_id=101 connection_id=100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180759Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=2 delay_ms=71000 event_type=RetransmissionTimeout [INFO] [stdout] 2026-01-16T03:01:58.180771Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.180802Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180872Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=32 delay_ms=72000 [INFO] [stdout] 2026-01-16T03:01:58.180901Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=102 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.175993Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.180950Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=102 entry_id=102 connection_id=101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.180969Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 249, timestamp: 369, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.180635Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:58.181056Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=150 slots_to_advance=15 max_advance=15 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.180907Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181127Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=110 slots_to_advance=11 max_advance=11 current_slot=24 [INFO] [stdout] 2026-01-16T03:01:58.181139Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181023Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.181191Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181194Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=133 [INFO] [stdout] 2026-01-16T03:01:58.181256Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=Established [INFO] [stdout] 2026-01-16T03:01:58.181270Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=103 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181300Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=103 entry_id=103 connection_id=102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181191Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.181344Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=43 [INFO] [stdout] 2026-01-16T03:01:58.181365Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Established [INFO] [stdout] 2026-01-16T03:01:58.180483Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=208 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.180912Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=2 delay_ms=72000 event_type=RetransmissionTimeout [INFO] [stdout] 2026-01-16T03:01:58.181415Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=144 [INFO] [stdout] 2026-01-16T03:01:58.181361Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.181448Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=144 state=Established [INFO] [stdout] 2026-01-16T03:01:58.181409Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=208 entry_id=208 connection_id=207 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181496Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.181523Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.181542Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=5 [INFO] [stdout] 2026-01-16T03:01:58.181560Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:58.181553Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=209 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.181577Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=3 [INFO] [stdout] 2026-01-16T03:01:58.181589Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=209 entry_id=209 connection_id=208 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181610Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=4 [INFO] [stdout] 2026-01-16T03:01:58.181613Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=400 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181631Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=1 [INFO] [stdout] 2026-01-16T03:01:58.181652Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.181665Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=210 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.181713Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=210 entry_id=210 connection_id=209 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181742Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=104 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181778Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=104 entry_id=104 connection_id=103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181801Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=211 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.181856Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=211 entry_id=211 connection_id=210 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181884Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=105 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181919Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=105 entry_id=105 connection_id=104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.181940Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=212 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.181973Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=212 entry_id=212 connection_id=211 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182037Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=213 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.182065Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=213 entry_id=213 connection_id=212 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182024Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=106 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.181446Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.181581Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182173Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 248, timestamp: 370, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.181677Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.182207Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=152 slots_to_advance=15 max_advance=15 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.182235Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=500 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182284Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] 2026-01-16T03:01:58.182212Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=101 frame=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.182307Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182355Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=42 [INFO] [stdout] 2026-01-16T03:01:58.182307Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 101, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.182386Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=42 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182392Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=101 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182410Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=101 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.182428Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.182441Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=101 remote_addr=127.0.0.1:9000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 1, payload_length: 8, recv_window_size: 247, timestamp: 371, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.182452Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=148 slots_to_advance=14 max_advance=14 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.182459Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=600 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182483Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:58.182503Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=149 slots_to_advance=14 max_advance=14 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.181673Z DEBUG kestrel_protocol::timer::task::global: Cleared all timers for connection connection_id=1 count=5 [INFO] [stdout] 2026-01-16T03:01:58.182514Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.182608Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=1000 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182614Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=146 slots_to_advance=14 max_advance=14 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.182708Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 6 } } [INFO] [stdout] 2026-01-16T03:01:58.182724Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.182739Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 6 } } [INFO] [stdout] 2026-01-16T03:01:58.182764Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=106 peer_cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182778Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=7 [INFO] [stdout] 2026-01-16T03:01:58.182800Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=8 [INFO] [stdout] 2026-01-16T03:01:58.182797Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182847Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=106 entry_id=106 connection_id=105 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.182861Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Ack { header: ShortHeader { command: Ack, connection_id: 106, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.182888Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 106, payload_length: 8, recv_window_size: 255, timestamp: 2, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.182916Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=106 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182942Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=106 [INFO] [stdout] 2026-01-16T03:01:58.182937Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=107 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.182960Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=106 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.183023Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.183027Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.183051Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.183057Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=384757967 [INFO] [stdout] 2026-01-16T03:01:58.183205Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.182764Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=1100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.183073Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=366 srtt_ms=366 rttvar_ms=183 rto_ms=1099 [INFO] [stdout] 2026-01-16T03:01:58.183277Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.183292Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.183317Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.183576Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.183315Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.183629Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.183939Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.183960Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.183989Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 255, timestamp: 368, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.184209Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.184026Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.184335Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.184640Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.184662Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.184689Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 254, timestamp: 369, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.184726Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.185048Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.185339Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.185356Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.185380Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 253, timestamp: 370, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.185412Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.185924Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.185966Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.186010Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.186028Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.180517Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.188024Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.188116Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 251, timestamp: 376, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.188197Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.190872Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.191234Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.191468Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.191612Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 250, timestamp: 379, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.191703Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.192116Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.193885Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.193962Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.194052Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 249, timestamp: 382, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.194157Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.194795Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.182124Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=214 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.195211Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.182515Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=101 count=9 [INFO] [stdout] 2026-01-16T03:01:58.183152Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:58.182963Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=107 entry_id=107 connection_id=106 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.195333Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195507Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:58.195536Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195580Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:58.195601Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195640Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:58.195659Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195698Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:58.195720Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195759Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:58.195778Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195816Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:58.195861Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:58.195905Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:58.195926Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:58.196064Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=154 slots_to_advance=15 max_advance=15 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.196119Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=160 slots_to_advance=16 max_advance=16 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.196175Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:58.196198Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:58.196237Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:58.196257Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:58.196478Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.196535Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.196589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:58.196612Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:58.196661Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=53 slots_to_advance=5 max_advance=5 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.196720Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.196746Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.196773Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.196848Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.196865Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=49 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.196890Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=49 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.196913Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=49 peer_cid=149 [INFO] [stdout] 2026-01-16T03:01:58.196933Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=49 frame=Push { header: ShortHeader { command: Push, connection_id: 49, payload_length: 4, recv_window_size: 256, timestamp: 37, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.196960Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 49, payload_length: 4, recv_window_size: 256, timestamp: 37, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.196983Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=49 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.197000Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=49 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.197031Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 149, payload_length: 8, recv_window_size: 255, timestamp: 50, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.197067Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=49 [INFO] [stdout] 2026-01-16T03:01:58.197085Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=49 count=1 [INFO] [stdout] 2026-01-16T03:01:58.197111Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=49 state=Established [INFO] [stdout] 2026-01-16T03:01:58.192624Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.197284Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=1200 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.197436Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=10 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.197545Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=10 entry_id=10 connection_id=1600 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.197652Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=11 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.197726Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=11 entry_id=11 connection_id=1700 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.197837Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=12 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.197873Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=214 entry_id=214 connection_id=213 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.197937Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=12 entry_id=12 connection_id=1300 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.198011Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=215 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.198051Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=215 entry_id=215 connection_id=214 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.198137Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=216 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.198177Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=216 entry_id=216 connection_id=215 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.198154Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=13 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.198374Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=23 [INFO] [stdout] 2026-01-16T03:01:58.198438Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=120 slots_to_advance=12 max_advance=12 current_slot=23 [INFO] [stdout] 2026-01-16T03:01:58.198429Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=13 entry_id=13 connection_id=1800 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.198598Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=14 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.198669Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=14 entry_id=14 connection_id=1900 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] test timer::parallel::tests::test_concurrent_processing ... ok [INFO] [stdout] 2026-01-16T03:01:58.198867Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=15 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.198922Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=15 entry_id=15 connection_id=1400 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.198963Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=16 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.198986Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=16 entry_id=16 connection_id=2000 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199034Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=17 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199097Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=17 entry_id=17 connection_id=1500 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199084Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.199138Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=18 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199162Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=18 entry_id=18 connection_id=2100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199193Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=19 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199213Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=19 entry_id=19 connection_id=2300 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199247Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=19 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.199308Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=20 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199343Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=20 entry_id=20 connection_id=2400 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199387Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=21 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199422Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=21 entry_id=21 connection_id=2200 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199467Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=22 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199468Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.199500Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=22 entry_id=22 connection_id=2500 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199543Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=23 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199571Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=23 entry_id=23 connection_id=2700 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.199608Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=24 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.199635Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.199687Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.199817Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.199916Z  INFO kestrel_protocol::timer::task::global: Received shutdown command [INFO] [stdout] 2026-01-16T03:01:58.199931Z  INFO kestrel_protocol::timer::task::global: Global timer task shutdown completed [INFO] [stdout] 2026-01-16T03:01:58.199988Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.200007Z  INFO kestrel_protocol::timer::task::global: Received shutdown command [INFO] [stdout] 2026-01-16T03:01:58.200016Z  INFO kestrel_protocol::timer::task::global: Global timer task shutdown completed [INFO] [stdout] 2026-01-16T03:01:58.183103Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=6 [INFO] [stdout] 2026-01-16T03:01:58.200899Z DEBUG kestrel_protocol::timer::task::global: Cleared all timers for connection connection_id=2 count=3 [INFO] [stdout] 2026-01-16T03:01:58.201020Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=10 delay_ms=100 [INFO] [stdout] 2026-01-16T03:01:58.201064Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=1 delay_ms=100 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.195235Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.201430Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 248, timestamp: 389, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.201502Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=102 frame=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.201698Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 102, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" } [INFO] [stdout] 2026-01-16T03:01:58.201900Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=102 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.201924Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=102 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.201957Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=102 remote_addr=127.0.0.1:9001 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 2, payload_length: 8, recv_window_size: 247, timestamp: 390, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.202003Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:58.202043Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=102 count=9 [INFO] [stdout] 2026-01-16T03:01:58.202084Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.202241Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3 } } [INFO] [stdout] 2026-01-16T03:01:58.202271Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 3 } } [INFO] [stdout] 2026-01-16T03:01:58.202291Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=103 peer_cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:58.202308Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:58.202328Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Ack { header: ShortHeader { command: Ack, connection_id: 103, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.202351Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 103, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.202371Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=103 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.202392Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=103 [INFO] [stdout] 2026-01-16T03:01:58.202409Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=103 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.202456Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.202479Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.202500Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=388 srtt_ms=388 rttvar_ms=194 rto_ms=1165 [INFO] [stdout] 2026-01-16T03:01:58.202530Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.202543Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.199631Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=24 entry_id=24 connection_id=2800 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205280Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=25 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.205337Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=25 entry_id=25 connection_id=2600 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205382Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=26 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.205417Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=26 entry_id=26 connection_id=2900 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205469Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=27 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.205492Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=27 entry_id=27 connection_id=3100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205565Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=28 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.205606Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=28 entry_id=28 connection_id=3200 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205669Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=29 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.205732Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=29 entry_id=29 connection_id=3000 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.205790Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=30 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207035Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=108 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207157Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.207247Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=108 entry_id=108 connection_id=107 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207350Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.205846Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=30 entry_id=30 connection_id=3300 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207522Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=109 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207558Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=109 entry_id=109 connection_id=108 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207635Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=110 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207669Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=110 entry_id=110 connection_id=109 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207758Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=111 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207788Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=111 entry_id=111 connection_id=110 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207761Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=31 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.207881Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=112 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.180633Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=114 entry_id=114 connection_id=113 delay_ms=173000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.207992Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=112 entry_id=112 connection_id=111 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208032Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=115 slot_index=504 delay_ms=174000 [INFO] [stdout] 2026-01-16T03:01:58.208068Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=115 entry_id=115 connection_id=114 delay_ms=174000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208160Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=116 slot_index=92 delay_ms=175000 [INFO] [stdout] 2026-01-16T03:01:58.208197Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=116 entry_id=116 connection_id=115 delay_ms=175000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208284Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=117 slot_index=192 delay_ms=176000 [INFO] [stdout] 2026-01-16T03:01:58.198504Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=44 [INFO] [stdout] 2026-01-16T03:01:58.208138Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=31 entry_id=31 connection_id=3500 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208398Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=113 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.208348Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Established [INFO] [stdout] 2026-01-16T03:01:58.208349Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.208378Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=117 entry_id=117 connection_id=116 delay_ms=176000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208700Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=118 slot_index=292 delay_ms=177000 [INFO] [stdout] 2026-01-16T03:01:58.208741Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=118 entry_id=118 connection_id=117 delay_ms=177000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208842Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=119 slot_index=392 delay_ms=178000 [INFO] [stdout] 2026-01-16T03:01:58.208878Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=119 entry_id=119 connection_id=118 delay_ms=178000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208883Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=113 entry_id=113 connection_id=112 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.208964Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=120 slot_index=492 delay_ms=179000 [INFO] [stdout] 2026-01-16T03:01:58.209003Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=120 entry_id=120 connection_id=119 delay_ms=179000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209022Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=114 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.209085Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=121 slot_index=80 delay_ms=180000 [INFO] [stdout] 2026-01-16T03:01:58.209121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=121 entry_id=121 connection_id=120 delay_ms=180000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209183Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=122 slot_index=180 delay_ms=181000 [INFO] [stdout] 2026-01-16T03:01:58.209211Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=122 entry_id=122 connection_id=121 delay_ms=181000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209268Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=123 slot_index=280 delay_ms=182000 [INFO] [stdout] 2026-01-16T03:01:58.209291Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=123 entry_id=123 connection_id=122 delay_ms=182000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209344Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=124 slot_index=380 delay_ms=183000 [INFO] [stdout] 2026-01-16T03:01:58.209364Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=124 entry_id=124 connection_id=123 delay_ms=183000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=125 slot_index=480 delay_ms=184000 [INFO] [stdout] 2026-01-16T03:01:58.209435Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=125 entry_id=125 connection_id=124 delay_ms=184000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209486Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=126 slot_index=68 delay_ms=185000 [INFO] [stdout] 2026-01-16T03:01:58.209505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=126 entry_id=126 connection_id=125 delay_ms=185000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209573Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=127 slot_index=168 delay_ms=186000 [INFO] [stdout] 2026-01-16T03:01:58.209599Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=127 entry_id=127 connection_id=126 delay_ms=186000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209675Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=128 slot_index=268 delay_ms=187000 [INFO] [stdout] 2026-01-16T03:01:58.209702Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=128 entry_id=128 connection_id=127 delay_ms=187000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.209781Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=129 slot_index=368 delay_ms=188000 [INFO] [stdout] 2026-01-16T03:01:58.209810Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=129 entry_id=129 connection_id=128 delay_ms=188000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210025Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=130 slot_index=468 delay_ms=189000 [INFO] [stdout] 2026-01-16T03:01:58.210054Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=130 entry_id=130 connection_id=129 delay_ms=189000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210129Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=131 slot_index=56 delay_ms=190000 [INFO] [stdout] 2026-01-16T03:01:58.210156Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=131 entry_id=131 connection_id=130 delay_ms=190000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210231Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=132 slot_index=156 delay_ms=191000 [INFO] [stdout] 2026-01-16T03:01:58.210260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=132 entry_id=132 connection_id=131 delay_ms=191000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210300Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=114 entry_id=114 connection_id=113 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210338Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=133 slot_index=256 delay_ms=192000 [INFO] [stdout] 2026-01-16T03:01:58.210365Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=133 entry_id=133 connection_id=132 delay_ms=192000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210396Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=115 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.210426Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=115 entry_id=115 connection_id=114 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210438Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=134 slot_index=356 delay_ms=193000 [INFO] [stdout] 2026-01-16T03:01:58.208709Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=32 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.210465Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=134 entry_id=134 connection_id=133 delay_ms=193000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210488Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=32 entry_id=32 connection_id=3600 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210550Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=135 slot_index=456 delay_ms=194000 [INFO] [stdout] 2026-01-16T03:01:58.210579Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=135 entry_id=135 connection_id=134 delay_ms=194000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210624Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=116 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.210654Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=116 entry_id=116 connection_id=115 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210655Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=136 slot_index=44 delay_ms=195000 [INFO] [stdout] 2026-01-16T03:01:58.210685Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=136 entry_id=136 connection_id=135 delay_ms=195000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210723Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=33 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.210751Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=33 entry_id=33 connection_id=3400 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210774Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=137 slot_index=144 delay_ms=196000 [INFO] [stdout] 2026-01-16T03:01:58.210802Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=137 entry_id=137 connection_id=136 delay_ms=196000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.202569Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.210902Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=138 slot_index=244 delay_ms=197000 [INFO] [stdout] 2026-01-16T03:01:58.210935Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=138 entry_id=138 connection_id=137 delay_ms=197000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211033Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=139 slot_index=344 delay_ms=198000 [INFO] [stdout] 2026-01-16T03:01:58.211062Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=139 entry_id=139 connection_id=138 delay_ms=198000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211140Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=140 slot_index=444 delay_ms=199000 [INFO] [stdout] 2026-01-16T03:01:58.211163Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=140 entry_id=140 connection_id=139 delay_ms=199000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.210921Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.211231Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.211259Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.211301Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 255, timestamp: 398, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.211326Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=141 slot_index=32 delay_ms=200000 [INFO] [stdout] 2026-01-16T03:01:58.211354Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=141 entry_id=141 connection_id=140 delay_ms=200000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211429Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=142 slot_index=132 delay_ms=201000 [INFO] [stdout] test timer::task::tests::tests::test_global_timer_task_lifecycle ... 2026-01-16T03:01:58.211452Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=142 entry_id=142 connection_id=141 delay_ms=201000 event_type=IdleTimeout [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:58.211529Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=143 slot_index=232 delay_ms=202000 [INFO] [stdout] 2026-01-16T03:01:58.211551Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=143 entry_id=143 connection_id=142 delay_ms=202000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211602Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=144 slot_index=332 delay_ms=203000 [INFO] [stdout] 2026-01-16T03:01:58.211621Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=144 entry_id=144 connection_id=143 delay_ms=203000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211352Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.211671Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=145 slot_index=432 delay_ms=204000 [INFO] [stdout] 2026-01-16T03:01:58.211690Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=145 entry_id=145 connection_id=144 delay_ms=204000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211739Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=146 slot_index=20 delay_ms=205000 [INFO] [stdout] 2026-01-16T03:01:58.211758Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=146 entry_id=146 connection_id=145 delay_ms=205000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211805Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=147 slot_index=120 delay_ms=206000 [INFO] [stdout] 2026-01-16T03:01:58.185707Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.211805Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.211866Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.211885Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.211878Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=117 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.211909Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=117 entry_id=117 connection_id=116 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.211914Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 252, timestamp: 396, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.211992Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=118 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212020Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=118 entry_id=118 connection_id=117 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212093Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=119 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=119 entry_id=119 connection_id=118 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212196Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=120 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.211948Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.212223Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=120 entry_id=120 connection_id=119 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212290Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=121 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212317Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=121 entry_id=121 connection_id=120 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212393Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=122 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212421Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=122 entry_id=122 connection_id=121 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212223Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.212495Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.212497Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=34 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212511Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.212537Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=34 entry_id=34 connection_id=3700 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212541Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 251, timestamp: 397, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.212602Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=35 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212627Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=35 entry_id=35 connection_id=3800 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212671Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=36 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212695Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=36 entry_id=36 connection_id=3900 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212732Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=37 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212755Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=37 entry_id=37 connection_id=4000 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212794Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=38 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212817Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=38 entry_id=38 connection_id=4100 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212875Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=39 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.212898Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=39 entry_id=39 connection_id=4200 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.212568Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.212943Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=40 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.213078Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=123 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.213133Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=140 slots_to_advance=14 max_advance=14 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.213425Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=139 slots_to_advance=13 max_advance=13 current_slot=13 [INFO] [stdout] 2026-01-16T03:01:58.213476Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=134 slots_to_advance=13 max_advance=13 current_slot=23 [INFO] [stdout] 2026-01-16T03:01:58.213532Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=139 slots_to_advance=13 max_advance=13 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.213318Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.213578Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.213597Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.213613Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.213627Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.213635Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 250, timestamp: 398, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.213671Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=140 slots_to_advance=14 max_advance=14 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.213713Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=136 slots_to_advance=13 max_advance=13 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.213743Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.213757Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=137 slots_to_advance=13 max_advance=13 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.213799Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=136 slots_to_advance=13 max_advance=13 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.213866Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.213886Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=46 [INFO] [stdout] 2026-01-16T03:01:58.213916Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=46 state=Established [INFO] [stdout] 2026-01-16T03:01:58.213663Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.213956Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=136 slots_to_advance=13 max_advance=13 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.214000Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.214027Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1 [INFO] [stdout] 2026-01-16T03:01:58.214080Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=142 slots_to_advance=14 max_advance=14 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.214125Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=142 slots_to_advance=14 max_advance=14 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.214133Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2 [INFO] [stdout] 2026-01-16T03:01:58.213947Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.214305Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.214310Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=91 slots_to_advance=9 max_advance=9 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.214322Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.214349Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 249, timestamp: 399, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] test core::tests::reliability::test_endpoint_rto_retransmission ... ok [INFO] [stdout] 2026-01-16T03:01:58.214397Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=139 slots_to_advance=13 max_advance=13 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.214444Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.214486Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=11 [INFO] [stdout] 2026-01-16T03:01:58.214555Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=139 slots_to_advance=13 max_advance=13 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.214614Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=48 [INFO] [stdout] 2026-01-16T03:01:58.214638Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=48 state=Established [INFO] [stdout] 2026-01-16T03:01:58.214377Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.214683Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=138 slots_to_advance=13 max_advance=13 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.214733Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=137 slots_to_advance=13 max_advance=13 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.214814Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=132 slots_to_advance=13 max_advance=13 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.214875Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.214909Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=130 slots_to_advance=13 max_advance=13 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.214944Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.214669Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.214969Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.214985Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=45 [INFO] [stdout] 2026-01-16T03:01:58.214992Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.215004Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215019Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 248, timestamp: 399, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.215034Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=139 [INFO] [stdout] 2026-01-16T03:01:58.215049Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215078Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.215114Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.215151Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=150 [INFO] [stdout] 2026-01-16T03:01:58.215165Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=150 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.215190Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=121 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.215054Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=106 frame=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 640, recv_window_size: 256, timestamp: 2, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.215241Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=49 [INFO] [stdout] 2026-01-16T03:01:58.215275Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.215291Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.215303Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.215314Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.215325Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.215337Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.215350Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.215360Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.215370Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.215232Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 106, payload_length: 640, recv_window_size: 256, timestamp: 2, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" } [INFO] [stdout] 2026-01-16T03:01:58.215464Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=106 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215387Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 0, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.215479Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=106 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.215501Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=106 remote_addr=127.0.0.1:9005 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 6, payload_length: 8, recv_window_size: 247, timestamp: 400, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.215532Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:58.215551Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=106 count=9 [INFO] [stdout] 2026-01-16T03:01:58.215574Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215504Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 1, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.215636Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:58.215652Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215678Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:58.215692Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215623Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 2, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.215713Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12 } } [INFO] [stdout] 2026-01-16T03:01:58.215799Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 12 } } [INFO] [stdout] 2026-01-16T03:01:58.215729Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 3, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.215817Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=112 peer_cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215859Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 4, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.215953Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:58.215970Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Ack { header: ShortHeader { command: Ack, connection_id: 112, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.215988Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 112, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.215984Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.216006Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=112 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.216024Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=112 [INFO] [stdout] 2026-01-16T03:01:58.216040Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=112 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.215976Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 5, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.216078Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.216095Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.216114Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=394 srtt_ms=394 rttvar_ms=197 rto_ms=1183 [INFO] [stdout] 2026-01-16T03:01:58.216131Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.216142Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.216146Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.216088Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 6, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.216187Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.216230Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=12 delay_ms=120 [INFO] [stdout] 2026-01-16T03:01:58.216265Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=120 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.216200Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 1200, recv_window_size: 256, timestamp: 69, sequence_number: 7, recv_next_sequence: 1 }, payload: b"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.216357Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=17 delay_ms=170 [INFO] [stdout] 2026-01-16T03:01:58.216317Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=49 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 149, payload_length: 640, recv_window_size: 256, timestamp: 69, sequence_number: 8, recv_next_sequence: 1 }, payload: b"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } [INFO] [stdout] 2026-01-16T03:01:58.216384Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2 delay_ms=170 event_type=RetransmissionTimeout [INFO] [stdout] 2026-01-16T03:01:58.216398Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=49 state=Established [INFO] [stdout] 2026-01-16T03:01:58.216159Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.216446Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=22 delay_ms=220 [INFO] [stdout] 2026-01-16T03:01:58.216467Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=149 [INFO] [stdout] 2026-01-16T03:01:58.216469Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3 delay_ms=220 event_type=PathValidationTimeout [INFO] [stdout] 2026-01-16T03:01:58.216490Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=149 state=Established [INFO] [stdout] 2026-01-16T03:01:58.216542Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=27 delay_ms=270 [INFO] [stdout] 2026-01-16T03:01:58.216571Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=4 delay_ms=270 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.216425Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.216694Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:58.213214Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=147 entry_id=147 connection_id=146 delay_ms=206000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.216848Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=148 slot_index=220 delay_ms=207000 [INFO] [stdout] 2026-01-16T03:01:58.216885Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=148 entry_id=148 connection_id=147 delay_ms=207000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.216981Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=149 slot_index=320 delay_ms=208000 [INFO] [stdout] 2026-01-16T03:01:58.217011Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=149 entry_id=149 connection_id=148 delay_ms=208000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217085Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=150 slot_index=420 delay_ms=209000 [INFO] [stdout] 2026-01-16T03:01:58.217114Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=150 entry_id=150 connection_id=149 delay_ms=209000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217189Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=151 slot_index=8 delay_ms=210000 [INFO] [stdout] 2026-01-16T03:01:58.217218Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=151 entry_id=151 connection_id=150 delay_ms=210000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217294Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=152 slot_index=108 delay_ms=211000 [INFO] [stdout] 2026-01-16T03:01:58.217323Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=152 entry_id=152 connection_id=151 delay_ms=211000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217397Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=153 slot_index=208 delay_ms=212000 [INFO] [stdout] 2026-01-16T03:01:58.217425Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=153 entry_id=153 connection_id=152 delay_ms=212000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217502Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=154 slot_index=308 delay_ms=213000 [INFO] [stdout] 2026-01-16T03:01:58.217539Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=154 entry_id=154 connection_id=153 delay_ms=213000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217617Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=155 slot_index=408 delay_ms=214000 [INFO] [stdout] 2026-01-16T03:01:58.217645Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=155 entry_id=155 connection_id=154 delay_ms=214000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217722Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=156 slot_index=508 delay_ms=215000 [INFO] [stdout] 2026-01-16T03:01:58.217752Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=156 entry_id=156 connection_id=155 delay_ms=215000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217850Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=157 slot_index=96 delay_ms=216000 [INFO] [stdout] 2026-01-16T03:01:58.217881Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=157 entry_id=157 connection_id=156 delay_ms=216000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.217960Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=158 slot_index=196 delay_ms=217000 [INFO] [stdout] 2026-01-16T03:01:58.217988Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=158 entry_id=158 connection_id=157 delay_ms=217000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218063Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=159 slot_index=296 delay_ms=218000 [INFO] [stdout] 2026-01-16T03:01:58.218102Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=159 entry_id=159 connection_id=158 delay_ms=218000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218119Z  INFO kestrel_protocol::socket::tests::rebind: ⚠️ 测试跳过 - rebind后现有连接预期会断开,因为传输层已切换到新地址 [INFO] [stdout] 2026-01-16T03:01:58.218191Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=160 slot_index=396 delay_ms=219000 [INFO] [stdout] 2026-01-16T03:01:58.218217Z TRACE mio::poll: registering event source with poller: token=Token(123776125671680), interests=READABLE | WRITABLE [INFO] [stdout] 2026-01-16T03:01:58.218228Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=160 entry_id=160 connection_id=159 delay_ms=219000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218315Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=161 slot_index=496 delay_ms=220000 [INFO] [stdout] 2026-01-16T03:01:58.218353Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=161 entry_id=161 connection_id=160 delay_ms=220000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218437Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=162 slot_index=84 delay_ms=221000 [INFO] [stdout] 2026-01-16T03:01:58.218475Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=162 entry_id=162 connection_id=161 delay_ms=221000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218570Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=163 slot_index=184 delay_ms=222000 [INFO] [stdout] 2026-01-16T03:01:58.218604Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=163 entry_id=163 connection_id=162 delay_ms=222000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218693Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=164 slot_index=284 delay_ms=223000 [INFO] [stdout] 2026-01-16T03:01:58.218728Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=164 entry_id=164 connection_id=163 delay_ms=223000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218818Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=165 slot_index=384 delay_ms=224000 [INFO] [stdout] 2026-01-16T03:01:58.218877Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=165 entry_id=165 connection_id=164 delay_ms=224000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.218972Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=166 slot_index=484 delay_ms=225000 [INFO] [stdout] 2026-01-16T03:01:58.218813Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.219110Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=40 entry_id=40 connection_id=4300 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.219144Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2239892301 state=FinWait [INFO] [stdout] 2026-01-16T03:01:58.211669Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.219075Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=123 entry_id=123 connection_id=122 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.219306Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.219332Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.219374Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 254, timestamp: 406, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.219425Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.219744Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.220074Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.220096Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.220124Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 253, timestamp: 407, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.220261Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport send actor started [INFO] [stdout] 2026-01-16T03:01:58.220162Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.220431Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=124 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.220493Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=124 entry_id=124 connection_id=123 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.220673Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=125 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.220729Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=125 entry_id=125 connection_id=124 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.220479Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.220792Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.220815Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.220866Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 252, timestamp: 408, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.220903Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.221203Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.221502Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.221534Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.221561Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 251, timestamp: 408, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.221328Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=126 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.221652Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=126 entry_id=126 connection_id=125 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.221598Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.221963Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.221925Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.222232Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.222254Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.222293Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 250, timestamp: 409, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.222338Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.219188Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=41 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.222877Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=41 entry_id=41 connection_id=4400 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.222944Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=42 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.222979Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=42 entry_id=42 connection_id=4500 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223015Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=43 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223036Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=43 entry_id=43 connection_id=4600 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223082Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=44 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223106Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=44 entry_id=44 connection_id=4700 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223139Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=45 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223162Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=45 entry_id=45 connection_id=4800 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223217Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=46 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223252Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=46 entry_id=46 connection_id=4900 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223288Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=47 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223308Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=47 entry_id=47 connection_id=800 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223341Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=48 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223358Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=48 entry_id=48 connection_id=300 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223384Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=49 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223401Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=49 entry_id=49 connection_id=200 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223450Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=50 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223474Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=50 entry_id=50 connection_id=900 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223515Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=51 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223548Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=51 entry_id=51 connection_id=2 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223597Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=52 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223624Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=52 entry_id=52 connection_id=700 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223658Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=53 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223683Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=53 entry_id=53 connection_id=101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223714Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=54 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223732Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=54 entry_id=54 connection_id=401 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223781Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=55 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223801Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=55 entry_id=55 connection_id=501 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223852Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=56 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223883Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=56 entry_id=56 connection_id=601 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.223960Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=57 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224046Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=57 entry_id=57 connection_id=1001 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224097Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=58 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224126Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=58 entry_id=58 connection_id=1401 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224175Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=59 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224204Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=59 entry_id=59 connection_id=1101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=60 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224271Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=60 entry_id=60 connection_id=1201 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224319Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=61 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224349Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=61 entry_id=61 connection_id=1601 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224396Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=62 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224426Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=62 entry_id=62 connection_id=1701 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224477Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=63 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.224508Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=63 entry_id=63 connection_id=1301 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224561Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=64 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.223764Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=108 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.224888Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:58.224980Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.225042Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.225252Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.225321Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.225370Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.225410Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.225455Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.225516Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:58.225558Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225613Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:58.225644Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225694Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:58.225715Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225753Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:58.225771Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225807Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:58.225868Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225919Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:58.225941Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:58.225981Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:58.226002Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226040Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:58.226060Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226110Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:58.226140Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226192Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:58.226223Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226281Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:58.226311Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226366Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.226125Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=127 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.226426Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.226455Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=127 entry_id=127 connection_id=126 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.226474Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=119 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.226529Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.226576Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.226620Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.226676Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=116 slots_to_advance=11 max_advance=11 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.226735Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=105 slots_to_advance=10 max_advance=10 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.226751Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=128 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.226791Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=108 slots_to_advance=10 max_advance=10 current_slot=21 [INFO] [stdout] 2026-01-16T03:01:58.226864Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:58.226899Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:58.226951Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:58.226980Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=137 state=Established [INFO] [stdout] 2026-01-16T03:01:58.227029Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=138 [INFO] [stdout] 2026-01-16T03:01:58.227055Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=138 state=Established [INFO] [stdout] 2026-01-16T03:01:58.227106Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=3 [INFO] [stdout] 2026-01-16T03:01:58.216696Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.227155Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.227204Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 255, timestamp: 406, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.227266Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.227606Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.227947Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.227972Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.227988Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=11 slots_to_advance=1 max_advance=1 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.219010Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=166 entry_id=166 connection_id=165 delay_ms=225000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228150Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=167 slot_index=72 delay_ms=226000 [INFO] [stdout] 2026-01-16T03:01:58.228197Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=167 entry_id=167 connection_id=166 delay_ms=226000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228296Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=168 slot_index=172 delay_ms=227000 [INFO] [stdout] 2026-01-16T03:01:58.228332Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=168 entry_id=168 connection_id=167 delay_ms=227000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228371Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.228415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=169 slot_index=272 delay_ms=228000 [INFO] [stdout] 2026-01-16T03:01:58.228445Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=169 entry_id=169 connection_id=168 delay_ms=228000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228535Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=170 slot_index=372 delay_ms=229000 [INFO] [stdout] 2026-01-16T03:01:58.228566Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=170 entry_id=170 connection_id=169 delay_ms=229000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228564Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.228649Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=171 slot_index=472 delay_ms=230000 [INFO] [stdout] 2026-01-16T03:01:58.228679Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=171 entry_id=171 connection_id=170 delay_ms=230000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.228771Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=172 slot_index=60 delay_ms=231000 [INFO] [stdout] 2026-01-16T03:01:58.198276Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=217 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.228853Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=217 entry_id=217 connection_id=216 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] test timer::parallel::tests::test_hybrid_parallel_system_creation ... ok [INFO] [stdout] 2026-01-16T03:01:58.228967Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=218 slot_index=20 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229008Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=218 entry_id=218 connection_id=217 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229055Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.229108Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.229140Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=219 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229178Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=219 entry_id=219 connection_id=218 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229273Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.228012Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 254, timestamp: 407, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.229267Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=220 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229318Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=220 entry_id=220 connection_id=219 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229403Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=221 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229439Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=221 entry_id=221 connection_id=220 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229520Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=222 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229558Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=222 entry_id=222 connection_id=221 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229316Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.229637Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=223 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229665Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=223 entry_id=223 connection_id=222 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229742Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=224 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229781Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=224 entry_id=224 connection_id=223 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.229959Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=225 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.229652Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.229999Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.230024Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.230053Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 253, timestamp: 409, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.230151Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=225 entry_id=225 connection_id=224 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230216Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=226 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230237Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=226 entry_id=226 connection_id=225 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230302Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=227 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230324Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=227 entry_id=227 connection_id=226 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230090Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.230377Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=228 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230400Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=228 entry_id=228 connection_id=227 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230453Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=229 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230474Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=229 entry_id=229 connection_id=228 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230532Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=230 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230554Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=230 entry_id=230 connection_id=229 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230610Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=231 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230631Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=231 entry_id=231 connection_id=230 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230694Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=232 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230401Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.230719Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=232 entry_id=232 connection_id=231 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230728Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.230738Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.230751Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.230786Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=233 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230781Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 252, timestamp: 410, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.230810Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=233 entry_id=233 connection_id=232 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230892Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=234 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230914Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=234 entry_id=234 connection_id=233 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.230944Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.230971Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=235 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230993Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=235 entry_id=235 connection_id=234 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231045Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=236 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231066Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=236 entry_id=236 connection_id=235 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231080Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.231109Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.231118Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=237 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.230820Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.231143Z TRACE kestrel_protocol::timer::wheel::core: Batch cancelled timers batch_size=3 cancelled_count=0 [INFO] [stdout] 2026-01-16T03:01:58.231178Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.231177Z TRACE kestrel_protocol::timer::task::global: Batch cancelled timers using wheel batch API batch_size=3 cancelled_count=0 wheel_cancelled_count=0 [INFO] [stdout] 2026-01-16T03:01:58.231208Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=10 delay_ms=100 [INFO] [stdout] 2026-01-16T03:01:58.231228Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=100 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231263Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.231291Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231305Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=1 [INFO] [stdout] 2026-01-16T03:01:58.231327Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=1 [INFO] [stdout] 2026-01-16T03:01:58.231359Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.231141Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=237 entry_id=237 connection_id=236 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231382Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=238 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231438Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=238 entry_id=238 connection_id=237 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231159Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.231481Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.231494Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=239 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231505Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.231515Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=239 entry_id=239 connection_id=238 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231543Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 251, timestamp: 411, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.231572Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=240 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231593Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=240 entry_id=240 connection_id=239 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231644Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=241 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231665Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=241 entry_id=241 connection_id=240 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231720Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=242 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231740Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=242 entry_id=242 connection_id=241 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231797Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=243 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231818Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=243 entry_id=243 connection_id=242 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231580Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.231900Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=244 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231924Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=244 entry_id=244 connection_id=243 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231978Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=245 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231999Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=245 entry_id=245 connection_id=244 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] test timer::parallel::tests::test_simd_processor_detailed ... ok [INFO] [stdout] 2026-01-16T03:01:58.232069Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=246 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232094Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=246 entry_id=246 connection_id=245 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232132Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.232153Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=247 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232175Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=247 entry_id=247 connection_id=246 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.231914Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.232228Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=248 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232326Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=172 entry_id=172 connection_id=171 delay_ms=231000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232336Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=248 entry_id=248 connection_id=247 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232417Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=173 slot_index=160 delay_ms=232000 [INFO] [stdout] 2026-01-16T03:01:58.232447Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=173 entry_id=173 connection_id=172 delay_ms=232000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232407Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=249 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.231445Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.232499Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=249 entry_id=249 connection_id=248 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232535Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=174 slot_index=260 delay_ms=233000 [INFO] [stdout] 2026-01-16T03:01:58.232535Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=2 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232565Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=174 entry_id=174 connection_id=173 delay_ms=233000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232568Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=250 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232592Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=250 entry_id=250 connection_id=249 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232641Z TRACE kestrel_protocol::timer::wheel::core: Batch cancelled timers batch_size=5 cancelled_count=3 [INFO] [stdout] 2026-01-16T03:01:58.232646Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=251 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232645Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=175 slot_index=360 delay_ms=234000 [INFO] [stdout] 2026-01-16T03:01:58.232668Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=251 entry_id=251 connection_id=250 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232673Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=175 entry_id=175 connection_id=174 delay_ms=234000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232680Z TRACE kestrel_protocol::timer::task::global: Batch cancelled timers using wheel batch API batch_size=5 cancelled_count=3 wheel_cancelled_count=3 [INFO] [stdout] 2026-01-16T03:01:58.232726Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=252 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232743Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=176 slot_index=460 delay_ms=235000 [INFO] [stdout] 2026-01-16T03:01:58.232747Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=252 entry_id=252 connection_id=251 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232769Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=176 entry_id=176 connection_id=175 delay_ms=235000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232802Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=253 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.232859Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=177 slot_index=48 delay_ms=236000 [INFO] [stdout] 2026-01-16T03:01:58.232890Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=177 entry_id=177 connection_id=176 delay_ms=236000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232912Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.232945Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4257094000 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.232261Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.226811Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=128 entry_id=128 connection_id=127 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232984Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=178 slot_index=148 delay_ms=237000 [INFO] [stdout] 2026-01-16T03:01:58.232989Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=253 entry_id=253 connection_id=252 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233013Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=178 entry_id=178 connection_id=177 delay_ms=237000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233028Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.233064Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=254 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233086Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=254 entry_id=254 connection_id=253 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233091Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=179 slot_index=248 delay_ms=238000 [INFO] [stdout] 2026-01-16T03:01:58.233122Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=179 entry_id=179 connection_id=178 delay_ms=238000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233132Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=129 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.233140Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=255 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233162Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=255 entry_id=255 connection_id=254 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233167Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=129 entry_id=129 connection_id=128 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233198Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=180 slot_index=348 delay_ms=239000 [INFO] [stdout] 2026-01-16T03:01:58.233217Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=256 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233227Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=180 entry_id=180 connection_id=179 delay_ms=239000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233238Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=256 entry_id=256 connection_id=255 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233277Z TRACE kestrel_protocol::timer::wheel::core: Batch added timers to timing wheel batch_size=64 [INFO] [stdout] 2026-01-16T03:01:58.233309Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=257 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233307Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=181 slot_index=448 delay_ms=240000 [INFO] [stdout] 2026-01-16T03:01:58.233331Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=257 entry_id=257 connection_id=256 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233339Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=181 entry_id=181 connection_id=180 delay_ms=240000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233379Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.233385Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=258 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233397Z DEBUG kestrel_protocol::socket::transport::manager: 创建传输管理器 | Creating transport manager [INFO] [stdout] 2026-01-16T03:01:58.233408Z DEBUG kestrel_protocol::socket::event_loop::routing: 创建帧路由管理器 | Creating frame router manager [INFO] [stdout] 2026-01-16T03:01:58.233407Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=258 entry_id=258 connection_id=257 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233418Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=182 slot_index=36 delay_ms=241000 [INFO] [stdout] 2026-01-16T03:01:58.233425Z  INFO kestrel_protocol::socket::handle: TransportReliableUdpSocket actor created and running addr=Some(127.0.0.1:55179) [INFO] [stdout] 2026-01-16T03:01:58.233448Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=182 entry_id=182 connection_id=181 delay_ms=241000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233470Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=259 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233495Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=259 entry_id=259 connection_id=258 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233532Z TRACE kestrel_protocol::timer::task::global: Batch registered timers successfully using wheel batch API batch_size=64 [INFO] [stdout] 2026-01-16T03:01:58.233538Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=183 slot_index=136 delay_ms=242000 [INFO] [stdout] 2026-01-16T03:01:58.233547Z DEBUG kestrel_protocol::socket::transport::udp: UDP transport receiver task started [INFO] [stdout] 2026-01-16T03:01:58.233556Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=260 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233568Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=183 entry_id=183 connection_id=182 delay_ms=242000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233578Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=260 entry_id=260 connection_id=259 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233604Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.233631Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=261 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233652Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=261 entry_id=261 connection_id=260 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233653Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=184 slot_index=236 delay_ms=243000 [INFO] [stdout] 2026-01-16T03:01:58.233682Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=184 entry_id=184 connection_id=183 delay_ms=243000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233706Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=262 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233716Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=384757967 [INFO] [stdout] 2026-01-16T03:01:58.233720Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Generated unique connection ID cid=1421079533 [INFO] [stdout] 2026-01-16T03:01:58.233726Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=262 entry_id=262 connection_id=261 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233734Z TRACE kestrel_protocol::timer::wheel::core: Batch cancelled timers batch_size=64 cancelled_count=64 [INFO] [stdout] 2026-01-16T03:01:58.233742Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.233752Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=185 slot_index=336 delay_ms=244000 [INFO] [stdout] 2026-01-16T03:01:58.233762Z  INFO kestrel_protocol::core::endpoint::lifecycle::manager: Connection lifecycle initialized cid=1421079533 remote_addr=127.0.0.1:52859 [INFO] [stdout] 2026-01-16T03:01:58.233778Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=263 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233777Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=185 entry_id=185 connection_id=184 delay_ms=244000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233798Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=263 entry_id=263 connection_id=262 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.232291Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=3 state=Established [INFO] [stdout] 2026-01-16T03:01:58.233853Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.233881Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=264 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233879Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=186 slot_index=436 delay_ms=245000 [INFO] [stdout] 2026-01-16T03:01:58.233883Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1421079533 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233884Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=122 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.233903Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=264 entry_id=264 connection_id=263 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233908Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=186 entry_id=186 connection_id=185 delay_ms=245000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233927Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.233956Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=265 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.233959Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=111 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.233959Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=440 delay_ms=30000 [INFO] [stdout] 2026-01-16T03:01:58.233976Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=265 entry_id=265 connection_id=264 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.233975Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=187 slot_index=24 delay_ms=246000 [INFO] [stdout] 2026-01-16T03:01:58.233983Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1421079533 delay_ms=30000 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.234002Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=141 [INFO] [stdout] 2026-01-16T03:01:58.234001Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=187 entry_id=187 connection_id=186 delay_ms=246000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234020Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=141 state=Established [INFO] [stdout] 2026-01-16T03:01:58.234030Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=266 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234049Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=22 [INFO] [stdout] 2026-01-16T03:01:58.234049Z DEBUG kestrel_protocol::socket::event_loop::routing: 注册新连接 | Registering new connection cid=1421079533 addr=127.0.0.1:52859 [INFO] [stdout] 2026-01-16T03:01:58.234051Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=266 entry_id=266 connection_id=265 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234063Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=22 state=Established [INFO] [stdout] 2026-01-16T03:01:58.234066Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=188 slot_index=124 delay_ms=247000 [INFO] [stdout] 2026-01-16T03:01:58.234090Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=35 [INFO] [stdout] 2026-01-16T03:01:58.234087Z DEBUG kestrel_protocol::socket::event_loop::session_coordinator: Connection registered to frame router cid=1421079533 addr=127.0.0.1:52859 [INFO] [stdout] 2026-01-16T03:01:58.234091Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=188 entry_id=188 connection_id=187 delay_ms=247000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234104Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=35 state=Established [INFO] [stdout] 2026-01-16T03:01:58.234110Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=267 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234130Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=142 [INFO] [stdout] 2026-01-16T03:01:58.234130Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=267 entry_id=267 connection_id=266 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234140Z  INFO kestrel_protocol::socket::event_loop::session_coordinator: Spawning new endpoint task for outbound connection addr=127.0.0.1:52859 cid=1421079533 [INFO] [stdout] test timer::task::tests::tests::test_global_timer_task_error_recovery ... ok [INFO] [stdout] 2026-01-16T03:01:58.234162Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=189 slot_index=224 delay_ms=248000 [INFO] [stdout] 2026-01-16T03:01:58.234181Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=268 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234187Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=189 entry_id=189 connection_id=188 delay_ms=248000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234201Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=268 entry_id=268 connection_id=267 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234223Z  INFO kestrel_protocol::socket::tests::rebind: ✅ rebind后可以建立新连接 [INFO] [stdout] 2026-01-16T03:01:58.234247Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=190 slot_index=324 delay_ms=249000 [INFO] [stdout] 2026-01-16T03:01:58.234251Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=269 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234269Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=190 entry_id=190 connection_id=189 delay_ms=249000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234281Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=269 entry_id=269 connection_id=268 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234325Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=191 slot_index=424 delay_ms=250000 [INFO] [stdout] 2026-01-16T03:01:58.234335Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=270 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234334Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=130 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234347Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=191 entry_id=191 connection_id=190 delay_ms=250000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234355Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=270 entry_id=270 connection_id=269 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234367Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=130 entry_id=130 connection_id=129 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234400Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=192 slot_index=12 delay_ms=251000 [INFO] [stdout] 2026-01-16T03:01:58.234406Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=271 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234408Z TRACE kestrel_protocol::timer::task::global: Batch cancelled timers using wheel batch API batch_size=64 cancelled_count=64 wheel_cancelled_count=64 [INFO] [stdout] 2026-01-16T03:01:58.234421Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=192 entry_id=192 connection_id=191 delay_ms=251000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234427Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=271 entry_id=271 connection_id=270 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234480Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=272 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234482Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=193 slot_index=112 delay_ms=252000 [INFO] [stdout] 2026-01-16T03:01:58.234485Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=131 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234503Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=272 entry_id=272 connection_id=271 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=193 entry_id=193 connection_id=192 delay_ms=252000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234526Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=131 entry_id=131 connection_id=130 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234559Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=273 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234579Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=194 slot_index=212 delay_ms=253000 [INFO] [stdout] 2026-01-16T03:01:58.234581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=273 entry_id=273 connection_id=272 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.224593Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=64 entry_id=64 connection_id=1801 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234601Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=194 entry_id=194 connection_id=193 delay_ms=253000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234636Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=274 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234649Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=65 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234657Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=274 entry_id=274 connection_id=273 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234660Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=195 slot_index=312 delay_ms=254000 [INFO] [stdout] 2026-01-16T03:01:58.234676Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:58.234681Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=195 entry_id=195 connection_id=194 delay_ms=254000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234680Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=65 entry_id=65 connection_id=1901 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234714Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=275 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234722Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=66 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234736Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=275 entry_id=275 connection_id=274 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234740Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=196 slot_index=412 delay_ms=255000 [INFO] [stdout] 2026-01-16T03:01:58.234742Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=66 entry_id=66 connection_id=2301 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234762Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=196 entry_id=196 connection_id=195 delay_ms=255000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234775Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=67 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234796Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=67 entry_id=67 connection_id=2001 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234797Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=276 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234842Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=276 entry_id=276 connection_id=275 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234851Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=68 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234873Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=68 entry_id=68 connection_id=1501 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234907Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=69 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.234912Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=277 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.234923Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=69 entry_id=69 connection_id=2101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234938Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=277 entry_id=277 connection_id=276 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234949Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=70 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.222659Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.234966Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=70 entry_id=70 connection_id=2201 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234987Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.235006Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=278 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235012Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.235018Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=71 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235029Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=278 entry_id=278 connection_id=277 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235031Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.235040Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=71 entry_id=71 connection_id=2401 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235045Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 249, timestamp: 422, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.235096Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=72 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235099Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=279 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235118Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=72 entry_id=72 connection_id=2501 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=279 entry_id=279 connection_id=278 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235153Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.235164Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=73 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235178Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.235175Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=280 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235184Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=73 entry_id=73 connection_id=2601 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235198Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=280 entry_id=280 connection_id=279 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235215Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=10 delay_ms=100 [INFO] [stdout] 2026-01-16T03:01:58.235228Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=74 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235236Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=100 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235250Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=74 entry_id=74 connection_id=2701 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] test timer::task::tests::tests::test_simd_compatibility_and_fallback ... 2026-01-16T03:01:58.235251Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=281 slot_index=32 delay_ms=200 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:58.235294Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=281 entry_id=281 connection_id=280 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235298Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=75 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235319Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=75 entry_id=75 connection_id=2801 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235355Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=282 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235364Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=76 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235377Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=282 entry_id=282 connection_id=281 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235093Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.235385Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=76 entry_id=76 connection_id=3101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235432Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=77 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235434Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=283 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235452Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=77 entry_id=77 connection_id=2901 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235455Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=283 entry_id=283 connection_id=282 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235497Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=78 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235508Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=284 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235530Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=78 entry_id=78 connection_id=3201 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235531Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=284 entry_id=284 connection_id=283 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235581Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=79 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235587Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=285 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235603Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=79 entry_id=79 connection_id=3001 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235928Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=80 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235954Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=80 entry_id=80 connection_id=3301 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235989Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=81 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236009Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=81 entry_id=81 connection_id=3501 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236043Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=82 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236063Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=82 entry_id=82 connection_id=3601 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236097Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=83 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236119Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=83 entry_id=83 connection_id=3801 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236156Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=84 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236177Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=84 entry_id=84 connection_id=3401 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236215Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=85 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236236Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=85 entry_id=85 connection_id=3701 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236265Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=86 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236285Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=86 entry_id=86 connection_id=4001 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236319Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=87 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236343Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=87 entry_id=87 connection_id=3901 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236373Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=88 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236393Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=88 entry_id=88 connection_id=4101 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236431Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=89 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236453Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=89 entry_id=89 connection_id=4201 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236484Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=90 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236504Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=90 entry_id=90 connection_id=3 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236545Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=91 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236568Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=91 entry_id=91 connection_id=4301 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236604Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=92 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236625Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=92 entry_id=92 connection_id=4401 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236654Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=93 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236674Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=93 entry_id=93 connection_id=4501 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236701Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=94 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236720Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=94 entry_id=94 connection_id=4601 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236760Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=95 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236783Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=95 entry_id=95 connection_id=4701 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236853Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=96 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236876Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=96 entry_id=96 connection_id=4801 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236902Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=97 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236919Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=97 entry_id=97 connection_id=4901 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236942Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=98 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.236960Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=98 entry_id=98 connection_id=801 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.236987Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=99 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237004Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=99 entry_id=99 connection_id=301 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237030Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=100 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237047Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=100 entry_id=100 connection_id=201 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237078Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=101 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237097Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=101 entry_id=101 connection_id=901 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237132Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=102 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237152Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=102 entry_id=102 connection_id=1002 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237187Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=103 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237211Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=103 entry_id=103 connection_id=701 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237247Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=104 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237270Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=104 entry_id=104 connection_id=102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237304Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=105 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237323Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=105 entry_id=105 connection_id=402 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237355Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=106 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237373Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=106 entry_id=106 connection_id=502 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237408Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=107 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237427Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=107 entry_id=107 connection_id=602 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237463Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=108 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237482Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=108 entry_id=108 connection_id=1202 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237531Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=109 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237552Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=109 entry_id=109 connection_id=1402 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237587Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=110 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237610Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=110 entry_id=110 connection_id=1102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237652Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=111 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237673Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=111 entry_id=111 connection_id=1602 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237705Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=112 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.237724Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=112 entry_id=112 connection_id=1702 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235608Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=285 entry_id=285 connection_id=284 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.237922Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=286 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.237952Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=286 entry_id=286 connection_id=285 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238030Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=287 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238058Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=287 entry_id=287 connection_id=286 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238134Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=288 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238169Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=288 entry_id=288 connection_id=287 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238248Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=289 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238277Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=289 entry_id=289 connection_id=288 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238353Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=290 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238382Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=290 entry_id=290 connection_id=289 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238468Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=291 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238514Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=291 entry_id=291 connection_id=290 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238600Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=292 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238639Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=292 entry_id=292 connection_id=291 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238715Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=293 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238752Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=293 entry_id=293 connection_id=292 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238851Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=294 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238884Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=294 entry_id=294 connection_id=293 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.238957Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=295 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.238990Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=295 entry_id=295 connection_id=294 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239083Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=296 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239117Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=296 entry_id=296 connection_id=295 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239187Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=297 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239221Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=297 entry_id=297 connection_id=296 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239292Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=298 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239328Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=298 entry_id=298 connection_id=297 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239395Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=299 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239430Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=299 entry_id=299 connection_id=298 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239503Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=300 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239547Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=300 entry_id=300 connection_id=299 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239620Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=301 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239655Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=301 entry_id=301 connection_id=300 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239728Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=302 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239761Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=302 entry_id=302 connection_id=301 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239858Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=303 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.239893Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=303 entry_id=303 connection_id=302 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.239967Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=304 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240002Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=304 entry_id=304 connection_id=303 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240073Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=305 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240107Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=305 entry_id=305 connection_id=304 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240177Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=306 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240211Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=306 entry_id=306 connection_id=305 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240286Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=307 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240321Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=307 entry_id=307 connection_id=306 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240390Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=308 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240424Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=308 entry_id=308 connection_id=307 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240499Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=309 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240545Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=309 entry_id=309 connection_id=308 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240626Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=310 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240665Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=310 entry_id=310 connection_id=309 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.240743Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=311 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.240782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=311 entry_id=311 connection_id=310 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.142790Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 5, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.240929Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 6, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.241056Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 1200, recv_window_size: 256, timestamp: 34, sequence_number: 7, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.241179Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=47 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 147, payload_length: 640, recv_window_size: 256, timestamp: 34, sequence_number: 8, recv_next_sequence: 1 }, payload: b"................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" } [INFO] [stdout] 2026-01-16T03:01:58.241275Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=47 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241402Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=40 [INFO] [stdout] 2026-01-16T03:01:58.241442Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=40 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241483Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=41 [INFO] [stdout] 2026-01-16T03:01:58.241501Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=41 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241542Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=143 [INFO] [stdout] 2026-01-16T03:01:58.241558Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=143 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241589Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=123 [INFO] [stdout] 2026-01-16T03:01:58.241605Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=123 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241637Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=145 [INFO] [stdout] 2026-01-16T03:01:58.241653Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=145 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241686Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=125 [INFO] [stdout] 2026-01-16T03:01:58.241703Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=125 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241709Z TRACE kestrel_protocol::timer::wheel::core: Batch added timers to timing wheel batch_size=10000 [INFO] [stdout] 2026-01-16T03:01:58.241738Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=23 [INFO] [stdout] 2026-01-16T03:01:58.241756Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=23 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241790Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=146 [INFO] [stdout] 2026-01-16T03:01:58.241807Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=146 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241867Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=21 [INFO] [stdout] 2026-01-16T03:01:58.241890Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=21 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241927Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=24 [INFO] [stdout] 2026-01-16T03:01:58.241945Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=24 state=Established [INFO] [stdout] 2026-01-16T03:01:58.241985Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=118 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242044Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242099Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=118 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242338Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=118 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242400Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242486Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=65 slots_to_advance=6 max_advance=6 current_slot=34 [INFO] [stdout] 2026-01-16T03:01:58.242550Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=31 [INFO] [stdout] 2026-01-16T03:01:58.242624Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.242676Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=117 slots_to_advance=11 max_advance=11 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.242717Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=83 slots_to_advance=8 max_advance=8 current_slot=33 [INFO] [stdout] 2026-01-16T03:01:58.242777Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=148 [INFO] [stdout] 2026-01-16T03:01:58.242806Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=148 state=Established [INFO] [stdout] 2026-01-16T03:01:58.242864Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=147 [INFO] [stdout] 2026-01-16T03:01:58.242884Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=147 state=Established [INFO] [stdout] 2026-01-16T03:01:58.242913Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=126 [INFO] [stdout] 2026-01-16T03:01:58.242927Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=126 state=Established [INFO] [stdout] 2026-01-16T03:01:58.242955Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=1 [INFO] [stdout] 2026-01-16T03:01:58.242970Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=1 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=27 [INFO] [stdout] 2026-01-16T03:01:58.243016Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=27 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243044Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=62 slots_to_advance=6 max_advance=6 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.243084Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=62 slots_to_advance=6 max_advance=6 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.243120Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=133 [INFO] [stdout] 2026-01-16T03:01:58.243135Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=133 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243164Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=43 [INFO] [stdout] 2026-01-16T03:01:58.243179Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=43 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243204Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=144 [INFO] [stdout] 2026-01-16T03:01:58.243219Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=144 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243247Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2 [INFO] [stdout] 2026-01-16T03:01:58.243262Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243290Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=25 [INFO] [stdout] 2026-01-16T03:01:58.243307Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=25 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243338Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=63 slots_to_advance=6 max_advance=6 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.243375Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=127 [INFO] [stdout] 2026-01-16T03:01:58.243389Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=127 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243418Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=42 [INFO] [stdout] 2026-01-16T03:01:58.243432Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=42 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243459Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=69 slots_to_advance=6 max_advance=6 current_slot=24 [INFO] [stdout] 2026-01-16T03:01:58.243494Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=70 slots_to_advance=7 max_advance=7 current_slot=26 [INFO] [stdout] 2026-01-16T03:01:58.243562Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=13 [INFO] [stdout] 2026-01-16T03:01:58.243591Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=13 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243625Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:58.243641Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243669Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=6 [INFO] [stdout] 2026-01-16T03:01:58.243683Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=6 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243710Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 9 } } [INFO] [stdout] 2026-01-16T03:01:58.243733Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 9 } } [INFO] [stdout] 2026-01-16T03:01:58.243755Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=109 peer_cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243771Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243787Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Ack { header: ShortHeader { command: Ack, connection_id: 109, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.243807Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 109, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.243849Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=109 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.243870Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=109 [INFO] [stdout] 2026-01-16T03:01:58.243890Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=109 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.243941Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.243960Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.243980Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=424 srtt_ms=424 rttvar_ms=212 rto_ms=1274 [INFO] [stdout] 2026-01-16T03:01:58.243998Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.244010Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.244030Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.244340Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.244651Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.244671Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.244699Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 255, timestamp: 427, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.237814Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=113 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.244966Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=113 entry_id=113 connection_id=2302 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245028Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=114 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245057Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=114 entry_id=114 connection_id=1902 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245093Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=115 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245111Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=115 entry_id=115 connection_id=2002 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245144Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=116 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245162Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=116 entry_id=116 connection_id=1502 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245189Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=117 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245206Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=117 entry_id=117 connection_id=1302 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245237Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=118 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245255Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=118 entry_id=118 connection_id=1802 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245288Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=119 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245307Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=119 entry_id=119 connection_id=2102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245334Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=120 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245351Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=120 entry_id=120 connection_id=2202 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245382Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=121 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245399Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=121 entry_id=121 connection_id=2402 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245429Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=122 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245446Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=122 entry_id=122 connection_id=2502 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245477Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=123 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245511Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=123 entry_id=123 connection_id=2702 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245546Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=124 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245564Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=124 entry_id=124 connection_id=2802 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245595Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=125 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245612Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=125 entry_id=125 connection_id=3102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245643Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=126 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245661Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=126 entry_id=126 connection_id=2902 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245688Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=127 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245706Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=127 entry_id=127 connection_id=2602 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.245741Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=128 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.245767Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=128 entry_id=128 connection_id=702 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234145Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=142 state=Established [INFO] [stdout] 2026-01-16T03:01:58.245942Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.245986Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246025Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246058Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246088Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=129 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246265Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=17 [INFO] [stdout] 2026-01-16T03:01:58.246289Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=17 state=Established [INFO] [stdout] 2026-01-16T03:01:58.246386Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=128 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246420Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246453Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246483Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=127 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246527Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246558Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246588Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246621Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=126 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246652Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246682Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=1 [INFO] [stdout] 2026-01-16T03:01:58.246717Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246748Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=124 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246779Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246810Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246869Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=10 [INFO] [stdout] 2026-01-16T03:01:58.246902Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=125 slots_to_advance=12 max_advance=12 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.246935Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=123 slots_to_advance=12 max_advance=12 current_slot=30 [INFO] [stdout] 2026-01-16T03:01:58.246968Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=55 slots_to_advance=5 max_advance=5 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.247000Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=51 slots_to_advance=5 max_advance=5 current_slot=26 [INFO] [stdout] 2026-01-16T03:01:58.247201Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=51 slots_to_advance=5 max_advance=5 current_slot=8 [INFO] [stdout] 2026-01-16T03:01:58.247329Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=54 slots_to_advance=5 max_advance=5 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.247387Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=54 slots_to_advance=5 max_advance=5 current_slot=5 [INFO] [stdout] 2026-01-16T03:01:58.247434Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=101 [INFO] [stdout] 2026-01-16T03:01:58.247465Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=101 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247523Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=15 [INFO] [stdout] 2026-01-16T03:01:58.247558Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=15 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247604Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=19 [INFO] [stdout] 2026-01-16T03:01:58.247633Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=19 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247670Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=116 [INFO] [stdout] 2026-01-16T03:01:58.247686Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=116 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247720Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=14 [INFO] [stdout] 2026-01-16T03:01:58.247748Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=14 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247784Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=11 [INFO] [stdout] 2026-01-16T03:01:58.247815Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247883Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=37 [INFO] [stdout] 2026-01-16T03:01:58.247918Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=37 state=Established [INFO] [stdout] 2026-01-16T03:01:58.247959Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=26 [INFO] [stdout] 2026-01-16T03:01:58.247985Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=26 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248017Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=118 [INFO] [stdout] 2026-01-16T03:01:58.248034Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=118 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248026Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=129 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248065Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=30 [INFO] [stdout] 2026-01-16T03:01:58.248069Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=129 entry_id=129 connection_id=4702 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=30 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248105Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=130 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248125Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=130 entry_id=130 connection_id=4802 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248128Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 8 } } [INFO] [stdout] 2026-01-16T03:01:58.248152Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=131 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248154Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 8 } } [INFO] [stdout] 2026-01-16T03:01:58.248171Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=131 entry_id=131 connection_id=4902 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248175Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=108 peer_cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248192Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248195Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=132 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248209Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Ack { header: ShortHeader { command: Ack, connection_id: 108, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.248213Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=132 entry_id=132 connection_id=802 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248229Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 108, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.248248Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=133 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248249Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=108 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248270Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=108 [INFO] [stdout] 2026-01-16T03:01:58.248266Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=133 entry_id=133 connection_id=302 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248287Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=108 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.248293Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=134 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248313Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=134 entry_id=134 connection_id=202 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248322Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.248342Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.248346Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=135 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248363Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=430 srtt_ms=430 rttvar_ms=215 rto_ms=1290 [INFO] [stdout] 2026-01-16T03:01:58.248366Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=135 entry_id=135 connection_id=902 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248383Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.248392Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=136 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248395Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.248410Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=136 entry_id=136 connection_id=1003 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248441Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=137 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248459Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=137 entry_id=137 connection_id=3702 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248488Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=138 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248507Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=138 entry_id=138 connection_id=3202 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248566Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=139 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248589Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=139 entry_id=139 connection_id=3002 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248617Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=140 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248636Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=140 entry_id=140 connection_id=3302 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248661Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=141 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248679Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=141 entry_id=141 connection_id=3502 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248415Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.248710Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=142 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248730Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=142 entry_id=142 connection_id=3602 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248761Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=143 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248780Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=143 entry_id=143 connection_id=3802 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248812Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=144 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248854Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=144 entry_id=144 connection_id=3402 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235646Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=1421079533 remote_addr=127.0.0.1:52859 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 1421079533 } } [INFO] [stdout] 2026-01-16T03:01:58.248889Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=145 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.235414Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.248909Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=145 entry_id=145 connection_id=603 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248910Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=1421079533 [INFO] [stdout] 2026-01-16T03:01:58.232238Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.248940Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=146 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.248952Z ERROR kestrel_protocol::socket::event_loop::session_coordinator: Endpoint closed with error: Internal channel is broken addr=127.0.0.1:52859 cid=1421079533 [INFO] [stdout] 2026-01-16T03:01:58.248959Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=146 entry_id=146 connection_id=103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248961Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.248991Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=147 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249010Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=147 entry_id=147 connection_id=403 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249011Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 250, timestamp: 428, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.249053Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=148 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249072Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=148 entry_id=148 connection_id=503 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249103Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=149 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=149 entry_id=149 connection_id=1403 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249147Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=150 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249164Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=150 entry_id=150 connection_id=1203 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249194Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=151 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249212Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=151 entry_id=151 connection_id=1103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249221Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:58.249237Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=152 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249255Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=152 entry_id=152 connection_id=1603 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249286Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=153 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249306Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=153 entry_id=153 connection_id=4202 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249335Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=154 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249058Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.249363Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=154 entry_id=154 connection_id=4002 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249406Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=155 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249426Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=155 entry_id=155 connection_id=3902 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249460Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=156 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249480Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=156 entry_id=156 connection_id=4102 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249512Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=157 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249540Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=157 entry_id=157 connection_id=4302 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249572Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=158 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249591Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=158 entry_id=158 connection_id=4 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249616Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=159 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249634Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=159 entry_id=159 connection_id=4402 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249651Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=312 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.249664Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=160 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249683Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=160 entry_id=160 connection_id=4502 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249684Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=312 entry_id=312 connection_id=311 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249392Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.249708Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=161 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249714Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.249739Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.249734Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=161 entry_id=161 connection_id=4602 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249772Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=162 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.249772Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=313 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.249773Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 249, timestamp: 429, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.249791Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=162 entry_id=162 connection_id=1703 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249800Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=313 entry_id=313 connection_id=312 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249836Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.249901Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=314 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235692Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.249929Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=314 entry_id=314 connection_id=313 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249999Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.250004Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=315 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250032Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=315 entry_id=315 connection_id=314 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250104Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=316 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.249811Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.250131Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=316 entry_id=316 connection_id=315 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250204Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=317 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250230Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=317 entry_id=317 connection_id=316 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250302Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=318 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250328Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=318 entry_id=318 connection_id=317 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.234821Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=197 slot_index=0 delay_ms=256000 [INFO] [stdout] 2026-01-16T03:01:58.250399Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=319 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250425Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=319 entry_id=319 connection_id=318 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250422Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=197 entry_id=197 connection_id=196 delay_ms=256000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250148Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.250459Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.250482Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.250502Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=320 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250510Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 248, timestamp: 430, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.250537Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=320 entry_id=320 connection_id=319 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250538Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=198 slot_index=100 delay_ms=257000 [INFO] [stdout] 2026-01-16T03:01:58.250569Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=198 entry_id=198 connection_id=197 delay_ms=257000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250605Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=110 slots_to_advance=11 max_advance=11 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.250612Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=321 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250637Z TRACE kestrel_protocol::timer::wheel::core: Timer moved to new slot entry_id=110 new_slot_index=4 [INFO] [stdout] 2026-01-16T03:01:58.250639Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=321 entry_id=321 connection_id=320 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250657Z TRACE kestrel_protocol::timer::wheel::core: Timer moved to new slot entry_id=23 new_slot_index=8 [INFO] [stdout] 2026-01-16T03:01:58.250672Z TRACE kestrel_protocol::timer::wheel::core: Timer moved to new slot entry_id=151 new_slot_index=8 [INFO] [stdout] 2026-01-16T03:01:58.250557Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=112 frame=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.250722Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=322 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250747Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=322 entry_id=322 connection_id=321 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250753Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=199 slot_index=211 delay_ms=258000 [INFO] [stdout] 2026-01-16T03:01:58.250780Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=199 entry_id=199 connection_id=198 delay_ms=258000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250818Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=323 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250862Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=323 entry_id=323 connection_id=322 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250935Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=324 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.250961Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=324 entry_id=324 connection_id=323 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.250959Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=103 slots_to_advance=10 max_advance=10 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.251031Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=325 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251041Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.251057Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=325 entry_id=325 connection_id=324 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251128Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=326 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251154Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=326 entry_id=326 connection_id=325 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251224Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=327 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251265Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=327 entry_id=327 connection_id=326 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251343Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=328 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251372Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=328 entry_id=328 connection_id=327 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251446Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=329 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251479Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=329 entry_id=329 connection_id=328 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251566Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=330 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.235724Z TRACE mio::poll: deregistering event source from poller [INFO] [stdout] 2026-01-16T03:01:58.251593Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=330 entry_id=330 connection_id=329 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235757Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=4257094000 [INFO] [stdout] 2026-01-16T03:01:58.251672Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=331 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251705Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=331 entry_id=331 connection_id=330 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.235849Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=132 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.251785Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=332 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251781Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=132 entry_id=132 connection_id=131 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251813Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=332 entry_id=332 connection_id=331 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251920Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=333 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.251955Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=333 entry_id=333 connection_id=332 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.251962Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=200 slot_index=311 delay_ms=259000 [INFO] [stdout] 2026-01-16T03:01:58.251974Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=133 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.251996Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=200 entry_id=200 connection_id=199 delay_ms=259000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252006Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=133 entry_id=133 connection_id=132 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252030Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=334 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.252059Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=334 entry_id=334 connection_id=333 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252080Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=201 slot_index=411 delay_ms=260000 [INFO] [stdout] 2026-01-16T03:01:58.252109Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=201 entry_id=201 connection_id=200 delay_ms=260000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252138Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=335 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.252135Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=134 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.252165Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=335 entry_id=335 connection_id=334 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252173Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=134 entry_id=134 connection_id=133 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252187Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=202 slot_index=511 delay_ms=261000 [INFO] [stdout] 2026-01-16T03:01:58.252216Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=202 entry_id=202 connection_id=201 delay_ms=261000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252239Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=336 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.252270Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=336 entry_id=336 connection_id=335 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252277Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.252305Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.252309Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=203 slot_index=99 delay_ms=262000 [INFO] [stdout] 2026-01-16T03:01:58.252338Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=203 entry_id=203 connection_id=202 delay_ms=262000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252338Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 248, timestamp: 439, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.252354Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=337 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.252379Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=337 entry_id=337 connection_id=336 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252419Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=204 slot_index=199 delay_ms=263000 [INFO] [stdout] 2026-01-16T03:01:58.252447Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=204 entry_id=204 connection_id=203 delay_ms=263000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252380Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=103 frame=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.252552Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=205 slot_index=299 delay_ms=264000 [INFO] [stdout] 2026-01-16T03:01:58.252580Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=205 entry_id=205 connection_id=204 delay_ms=264000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252656Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=206 slot_index=399 delay_ms=265000 [INFO] [stdout] 2026-01-16T03:01:58.252684Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=206 entry_id=206 connection_id=205 delay_ms=265000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252572Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 103, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" } [INFO] [stdout] 2026-01-16T03:01:58.235771Z TRACE kestrel_protocol::core::endpoint: Failed to send remove command during drop: channel closed cid=2239892301 [INFO] [stdout] 2026-01-16T03:01:58.252757Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=207 slot_index=499 delay_ms=266000 [INFO] [stdout] 2026-01-16T03:01:58.252762Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=103 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.252785Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=103 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.252783Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=207 entry_id=207 connection_id=206 delay_ms=266000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.249815Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=163 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.252888Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=163 entry_id=163 connection_id=2303 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.248723Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.252918Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=135 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.252941Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=164 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.252936Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.252951Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=135 entry_id=135 connection_id=134 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252960Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.252961Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=164 entry_id=164 connection_id=1903 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252995Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=165 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253024Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=136 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253026Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=165 entry_id=165 connection_id=2903 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253055Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=166 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253051Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=136 entry_id=136 connection_id=135 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253073Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=166 entry_id=166 connection_id=2703 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253104Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=167 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253125Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=167 entry_id=167 connection_id=2803 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253131Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=137 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253156Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=168 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253160Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=137 entry_id=137 connection_id=136 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253172Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=168 entry_id=168 connection_id=3103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.244734Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.253197Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=169 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253214Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=169 entry_id=169 connection_id=1803 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253245Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=170 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253240Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=138 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253263Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=170 entry_id=170 connection_id=2003 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253273Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=138 entry_id=138 connection_id=137 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253292Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=171 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253309Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=171 entry_id=171 connection_id=1503 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253334Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=172 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253355Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=172 entry_id=172 connection_id=1303 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253354Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=139 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253387Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=173 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253382Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=139 entry_id=139 connection_id=138 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253221Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.252816Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=103 remote_addr=127.0.0.1:9002 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 3, payload_length: 8, recv_window_size: 247, timestamp: 440, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.253546Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.253569Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.253572Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=103 [INFO] [stdout] 2026-01-16T03:01:58.250731Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 112, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" } [INFO] [stdout] 2026-01-16T03:01:58.253596Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 254, timestamp: 435, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.253418Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=173 entry_id=173 connection_id=703 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253598Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=103 count=9 [INFO] [stdout] 2026-01-16T03:01:58.253657Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=103 state=Established [INFO] [stdout] 2026-01-16T03:01:58.253705Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=174 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253734Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=174 entry_id=174 connection_id=2203 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.253787Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 7 } } [INFO] [stdout] 2026-01-16T03:01:58.253845Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 7 } } [INFO] [stdout] 2026-01-16T03:01:58.253868Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=107 peer_cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:58.253887Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:58.253906Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Ack { header: ShortHeader { command: Ack, connection_id: 107, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.253931Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 107, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.253952Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=107 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.253973Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=107 [INFO] [stdout] 2026-01-16T03:01:58.253973Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=175 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.253989Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=107 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.254003Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=175 entry_id=175 connection_id=2103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254027Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.254047Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.254068Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=436 srtt_ms=436 rttvar_ms=218 rto_ms=1310 [INFO] [stdout] 2026-01-16T03:01:58.254087Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.254089Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=176 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254100Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.254115Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=176 entry_id=176 connection_id=2403 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254156Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=177 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254180Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=177 entry_id=177 connection_id=3303 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254219Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=178 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254241Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=178 entry_id=178 connection_id=2603 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254281Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=179 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254302Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=179 entry_id=179 connection_id=4703 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254332Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=180 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254353Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=180 entry_id=180 connection_id=4803 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254391Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=181 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254122Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.254412Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=181 entry_id=181 connection_id=4903 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254447Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=182 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254465Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=182 entry_id=182 connection_id=803 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254490Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=183 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254508Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=183 entry_id=183 connection_id=303 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254549Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=184 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254568Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=184 entry_id=184 connection_id=203 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254600Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=185 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254621Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=185 entry_id=185 connection_id=903 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254657Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=186 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254677Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=186 entry_id=186 connection_id=1004 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254709Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=187 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254436Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.254726Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=187 entry_id=187 connection_id=3703 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254746Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=0 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.254758Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=188 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.254767Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=0 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.254777Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=188 entry_id=188 connection_id=3203 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254792Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 255, timestamp: 438, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.254878Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=208 slot_index=87 delay_ms=267000 [INFO] [stdout] 2026-01-16T03:01:58.254906Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=208 entry_id=208 connection_id=207 delay_ms=267000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254975Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=209 slot_index=187 delay_ms=268000 [INFO] [stdout] 2026-01-16T03:01:58.254998Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=209 entry_id=209 connection_id=208 delay_ms=268000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255056Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=210 slot_index=287 delay_ms=269000 [INFO] [stdout] 2026-01-16T03:01:58.255078Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=210 entry_id=210 connection_id=209 delay_ms=269000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254853Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.255141Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=211 slot_index=387 delay_ms=270000 [INFO] [stdout] 2026-01-16T03:01:58.255168Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=211 entry_id=211 connection_id=210 delay_ms=270000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255224Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=212 slot_index=487 delay_ms=271000 [INFO] [stdout] 2026-01-16T03:01:58.255246Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=212 entry_id=212 connection_id=211 delay_ms=271000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255308Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=213 slot_index=75 delay_ms=272000 [INFO] [stdout] 2026-01-16T03:01:58.255330Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=213 entry_id=213 connection_id=212 delay_ms=272000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255390Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=214 slot_index=175 delay_ms=273000 [INFO] [stdout] 2026-01-16T03:01:58.255412Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=214 entry_id=214 connection_id=213 delay_ms=273000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255447Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.255166Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.255468Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=215 slot_index=275 delay_ms=274000 [INFO] [stdout] 2026-01-16T03:01:58.255487Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.255492Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=215 entry_id=215 connection_id=214 delay_ms=274000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255510Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.255547Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 254, timestamp: 439, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.255571Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=216 slot_index=375 delay_ms=275000 [INFO] [stdout] 2026-01-16T03:01:58.255585Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.255597Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=216 entry_id=216 connection_id=215 delay_ms=275000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255637Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.255666Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=0 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255668Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=217 slot_index=475 delay_ms=276000 [INFO] [stdout] 2026-01-16T03:01:58.255693Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=217 entry_id=217 connection_id=216 delay_ms=276000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.252987Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 255, timestamp: 436, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.255768Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=218 slot_index=63 delay_ms=277000 [INFO] [stdout] 2026-01-16T03:01:58.255796Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=218 entry_id=218 connection_id=217 delay_ms=277000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255874Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.255907Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.254814Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=189 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.255986Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=189 entry_id=189 connection_id=3003 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255994Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=112 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256020Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=112 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.256029Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256049Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=112 remote_addr=127.0.0.1:9011 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 247, timestamp: 435, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.256060Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=2 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=112 [INFO] [stdout] 2026-01-16T03:01:58.255791Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.256103Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=112 count=9 [INFO] [stdout] 2026-01-16T03:01:58.256088Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=190 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256135Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=112 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256141Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=190 entry_id=190 connection_id=404 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256186Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=4 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256215Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:58.256227Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=4 entry_id=4 connection_id=3 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256235Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256232Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=191 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256257Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=191 entry_id=191 connection_id=3503 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256326Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=5 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256350Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=192 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256356Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=5 entry_id=5 connection_id=4 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256359Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=150 current_state=SynReceived target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.256381Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=192 entry_id=192 connection_id=3603 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256384Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=150 from="SynReceived" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.256127Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 1, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.256415Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to simple retransmission [INFO] [stdout] 2026-01-16T03:01:58.256432Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.256429Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=1 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256449Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending 0-RTT packets with intelligent splitting cid=150 packet_count=1 [INFO] [stdout] 2026-01-16T03:01:58.256450Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=1 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.256466Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=150 remote_addr=127.0.0.1:9049 frame_count=2 first_frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 50, source_cid: 150 } } [INFO] [stdout] 2026-01-16T03:01:58.256481Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=6 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256480Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=193 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256479Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 254, timestamp: 439, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.256499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=150 [INFO] [stdout] 2026-01-16T03:01:58.256505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=6 entry_id=6 connection_id=5 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256507Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=193 entry_id=193 connection_id=3803 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256530Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=150 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256582Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=217 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.256620Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=194 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256619Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=7 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256640Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=224 slots_to_advance=22 max_advance=22 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.256646Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=194 entry_id=194 connection_id=3403 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256650Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=7 entry_id=7 connection_id=6 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256694Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=218 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.256743Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=195 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256751Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=217 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.256770Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=8 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256769Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=195 entry_id=195 connection_id=604 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256524Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.256808Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=8 entry_id=8 connection_id=7 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256816Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=217 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.256891Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=117 [INFO] [stdout] 2026-01-16T03:01:58.256914Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=117 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256941Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=219 slot_index=163 delay_ms=278000 [INFO] [stdout] 2026-01-16T03:01:58.256956Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=119 [INFO] [stdout] 2026-01-16T03:01:58.256976Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=219 entry_id=219 connection_id=218 delay_ms=278000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.256984Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=119 state=Established [INFO] [stdout] 2026-01-16T03:01:58.256989Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=9 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257014Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=9 entry_id=9 connection_id=8 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257025Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=16 [INFO] [stdout] 2026-01-16T03:01:58.257043Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=16 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257047Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=220 slot_index=263 delay_ms=279000 [INFO] [stdout] 2026-01-16T03:01:58.257071Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=220 entry_id=220 connection_id=219 delay_ms=279000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=36 [INFO] [stdout] 2026-01-16T03:01:58.257104Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=36 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257101Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=10 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.256844Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.257124Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=10 entry_id=10 connection_id=9 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257142Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=221 slot_index=363 delay_ms=280000 [INFO] [stdout] 2026-01-16T03:01:58.257148Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257138Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=120 [INFO] [stdout] 2026-01-16T03:01:58.257167Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.257168Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=221 entry_id=221 connection_id=220 delay_ms=280000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257177Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=120 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257192Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 253, timestamp: 440, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.257233Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=222 slot_index=463 delay_ms=281000 [INFO] [stdout] 2026-01-16T03:01:58.257249Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=11 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257293Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=196 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257292Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=11 entry_id=11 connection_id=10 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257313Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=196 entry_id=196 connection_id=104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257336Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=43 slots_to_advance=4 max_advance=4 current_slot=26 [INFO] [stdout] 2026-01-16T03:01:58.257371Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=12 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257397Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=12 entry_id=12 connection_id=11 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257411Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=216 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.257421Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=197 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257448Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=197 entry_id=197 connection_id=1104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257462Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=13 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257465Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=217 slots_to_advance=21 max_advance=21 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.257486Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=13 entry_id=13 connection_id=12 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257226Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.257536Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=121 [INFO] [stdout] 2026-01-16T03:01:58.257557Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=14 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257561Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=121 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257564Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=198 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=14 entry_id=14 connection_id=13 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257591Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=198 entry_id=198 connection_id=504 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257601Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=18 [INFO] [stdout] 2026-01-16T03:01:58.257621Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=18 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257657Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=33 [INFO] [stdout] 2026-01-16T03:01:58.257657Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=15 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257675Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=33 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257690Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=199 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257691Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=15 entry_id=15 connection_id=14 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257708Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=34 [INFO] [stdout] 2026-01-16T03:01:58.257715Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=199 entry_id=199 connection_id=1404 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257725Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=34 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257753Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=16 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257764Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=32 [INFO] [stdout] 2026-01-16T03:01:58.257783Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=32 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257783Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=16 entry_id=16 connection_id=15 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257535Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.257850Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257821Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=200 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257870Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.257871Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=17 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257870Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 255, timestamp: 406, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.257888Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=200 entry_id=200 connection_id=1204 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257899Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 255, timestamp: 406, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.257899Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=17 entry_id=17 connection_id=16 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257896Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 252, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.257920Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.257943Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.257257Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=222 entry_id=222 connection_id=221 delay_ms=281000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257966Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=18 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.257987Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=18 entry_id=18 connection_id=17 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.255585Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.258040Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=19 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258041Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=223 slot_index=51 delay_ms=282000 [INFO] [stdout] 2026-01-16T03:01:58.258061Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=19 entry_id=19 connection_id=18 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258068Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=223 entry_id=223 connection_id=222 delay_ms=282000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258109Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=20 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258128Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=20 entry_id=20 connection_id=19 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258133Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=224 slot_index=151 delay_ms=283000 [INFO] [stdout] 2026-01-16T03:01:58.258158Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=224 entry_id=224 connection_id=223 delay_ms=283000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258175Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=21 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258194Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=21 entry_id=21 connection_id=20 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257929Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.258237Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=22 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258255Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=22 entry_id=22 connection_id=21 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258313Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=23 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258321Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=225 slot_index=251 delay_ms=284000 [INFO] [stdout] 2026-01-16T03:01:58.258333Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=23 entry_id=23 connection_id=22 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258048Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.258357Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.258379Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.258387Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=24 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258408Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=24 entry_id=24 connection_id=23 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258405Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 253, timestamp: 442, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.258468Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=25 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258490Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=25 entry_id=25 connection_id=24 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258232Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.258529Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=225 entry_id=225 connection_id=224 delay_ms=284000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258538Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.258549Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=26 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258559Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.258571Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=26 entry_id=26 connection_id=25 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258584Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 251, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.258619Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=226 slot_index=351 delay_ms=285000 [INFO] [stdout] 2026-01-16T03:01:58.258646Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=226 entry_id=226 connection_id=225 delay_ms=285000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258682Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=27 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258705Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=27 entry_id=27 connection_id=26 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258717Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=227 slot_index=451 delay_ms=286000 [INFO] [stdout] 2026-01-16T03:01:58.258440Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.258742Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=227 entry_id=227 connection_id=226 delay_ms=286000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258760Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=28 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=28 entry_id=28 connection_id=27 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.257960Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.258873Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.258875Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=29 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258875Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=201 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258895Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.258902Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=201 entry_id=201 connection_id=4203 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258916Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=436 srtt_ms=436 rttvar_ms=218 rto_ms=1308 [INFO] [stdout] 2026-01-16T03:01:58.253634Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.258924Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=29 entry_id=29 connection_id=28 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258951Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=202 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258934Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.258978Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.258978Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=202 entry_id=202 connection_id=1604 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.258999Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 254, timestamp: 407, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.259017Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=203 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259020Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 254, timestamp: 407, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.259060Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=254 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259063Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=203 entry_id=203 connection_id=4003 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259077Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259089Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=254 [INFO] [stdout] 2026-01-16T03:01:58.259103Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=204 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259111Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:58.259122Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=204 entry_id=204 connection_id=3903 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259123Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.259143Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=437 srtt_ms=436 rttvar_ms=163 rto_ms=1091 [INFO] [stdout] 2026-01-16T03:01:58.259158Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.259154Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=205 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259167Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.259175Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=205 entry_id=205 connection_id=4103 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259181Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 253, timestamp: 409, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.258764Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.259200Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 253, timestamp: 409, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.259210Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=206 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259218Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=253 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259236Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259232Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=206 entry_id=206 connection_id=4403 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259249Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=253 [INFO] [stdout] 2026-01-16T03:01:58.258965Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 2, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.259276Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=207 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259287Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=2 [INFO] [stdout] 2026-01-16T03:01:58.259290Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=2 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259301Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=207 entry_id=207 connection_id=4303 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259302Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.259312Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=2 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.259321Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=437 srtt_ms=436 rttvar_ms=123 rto_ms=929 [INFO] [stdout] 2026-01-16T03:01:58.259328Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=208 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259337Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=35 [INFO] [stdout] 2026-01-16T03:01:58.259347Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=34 new_cwnd=35 [INFO] [stdout] 2026-01-16T03:01:58.259338Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 253, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.259348Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=208 entry_id=208 connection_id=5 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259366Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 252, timestamp: 410, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.259388Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=209 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259390Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 252, timestamp: 410, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.259413Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=252 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259414Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=209 entry_id=209 connection_id=4503 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259431Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259443Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=252 [INFO] [stdout] 2026-01-16T03:01:58.259452Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=210 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259469Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=3 [INFO] [stdout] 2026-01-16T03:01:58.259471Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=210 entry_id=210 connection_id=4603 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259483Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.259499Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=437 srtt_ms=436 rttvar_ms=92 rto_ms=807 [INFO] [stdout] 2026-01-16T03:01:58.259514Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=36 [INFO] [stdout] 2026-01-16T03:01:58.259504Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=211 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259524Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=35 new_cwnd=36 [INFO] [stdout] 2026-01-16T03:01:58.259534Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=211 entry_id=211 connection_id=2503 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259542Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 251, timestamp: 411, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.259564Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 251, timestamp: 411, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.259574Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=212 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259581Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=251 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259598Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259597Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=212 entry_id=212 connection_id=2704 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259610Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=251 [INFO] [stdout] 2026-01-16T03:01:58.259628Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=213 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259632Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=4 [INFO] [stdout] 2026-01-16T03:01:58.259646Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=213 entry_id=213 connection_id=1704 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259647Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.259375Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.259666Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=437 srtt_ms=436 rttvar_ms=69 rto_ms=715 [INFO] [stdout] 2026-01-16T03:01:58.259675Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=214 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259682Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=37 [INFO] [stdout] 2026-01-16T03:01:58.259692Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=36 new_cwnd=37 [INFO] [stdout] 2026-01-16T03:01:58.259695Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=214 entry_id=214 connection_id=2304 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259708Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 250, timestamp: 428, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.259728Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 250, timestamp: 428, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.259733Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=215 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259747Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=250 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259763Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259754Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=215 entry_id=215 connection_id=1904 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259774Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=250 [INFO] [stdout] 2026-01-16T03:01:58.259785Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=216 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259794Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=5 [INFO] [stdout] 2026-01-16T03:01:58.259804Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=216 entry_id=216 connection_id=2904 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259807Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.259845Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=437 srtt_ms=436 rttvar_ms=52 rto_ms=647 [INFO] [stdout] 2026-01-16T03:01:58.259861Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=38 [INFO] [stdout] 2026-01-16T03:01:58.259860Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=217 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259871Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=37 new_cwnd=38 [INFO] [stdout] 2026-01-16T03:01:58.259881Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=217 entry_id=217 connection_id=1804 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259889Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 249, timestamp: 429, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.259911Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 249, timestamp: 429, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.259914Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=218 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259928Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=249 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.259934Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=218 entry_id=218 connection_id=2804 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.259947Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.259959Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=249 [INFO] [stdout] 2026-01-16T03:01:58.259964Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=219 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.259685Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 3, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.259982Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=6 [INFO] [stdout] 2026-01-16T03:01:58.259997Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.260008Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.260023Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.260027Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=438 srtt_ms=437 rttvar_ms=39 rto_ms=596 [INFO] [stdout] 2026-01-16T03:01:58.260043Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=39 [INFO] [stdout] 2026-01-16T03:01:58.260047Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 252, timestamp: 442, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.260053Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=38 new_cwnd=39 [INFO] [stdout] 2026-01-16T03:01:58.260086Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 248, timestamp: 430, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.260109Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 248, timestamp: 430, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.260128Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=248 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.258817Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=228 slot_index=39 delay_ms=287000 [INFO] [stdout] 2026-01-16T03:01:58.260146Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.260160Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=248 [INFO] [stdout] 2026-01-16T03:01:58.260168Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=228 entry_id=228 connection_id=227 delay_ms=287000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260184Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=7 [INFO] [stdout] 2026-01-16T03:01:58.260196Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.260214Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=438 srtt_ms=437 rttvar_ms=30 rto_ms=557 [INFO] [stdout] 2026-01-16T03:01:58.260230Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=40 [INFO] [stdout] 2026-01-16T03:01:58.260241Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=39 new_cwnd=40 [INFO] [stdout] 2026-01-16T03:01:58.260250Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=229 slot_index=139 delay_ms=288000 [INFO] [stdout] 2026-01-16T03:01:58.260257Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=12 frame=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 247, timestamp: 435, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.260278Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=229 entry_id=229 connection_id=228 delay_ms=288000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260289Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 12, payload_length: 8, recv_window_size: 247, timestamp: 435, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.260308Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=12 recv_next_seq=0 recv_window=247 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.260326Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=12 [INFO] [stdout] 2026-01-16T03:01:58.260338Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=12 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=247 [INFO] [stdout] 2026-01-16T03:01:58.260347Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=230 slot_index=239 delay_ms=289000 [INFO] [stdout] 2026-01-16T03:01:58.260361Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=8 [INFO] [stdout] 2026-01-16T03:01:58.260086Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.260373Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=230 entry_id=230 connection_id=229 delay_ms=289000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260376Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.260395Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=438 srtt_ms=437 rttvar_ms=22 rto_ms=529 [INFO] [stdout] 2026-01-16T03:01:58.260416Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=41 [INFO] [stdout] 2026-01-16T03:01:58.260427Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=40 new_cwnd=41 [INFO] [stdout] 2026-01-16T03:01:58.260442Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=12 [INFO] [stdout] 2026-01-16T03:01:58.260449Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=231 slot_index=339 delay_ms=290000 [INFO] [stdout] 2026-01-16T03:01:58.260462Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=12 state=Established [INFO] [stdout] 2026-01-16T03:01:58.260474Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=231 entry_id=231 connection_id=230 delay_ms=290000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260547Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=232 slot_index=439 delay_ms=291000 [INFO] [stdout] 2026-01-16T03:01:58.260559Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 50 } } [INFO] [stdout] 2026-01-16T03:01:58.260571Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=232 entry_id=232 connection_id=231 delay_ms=291000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260594Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=50 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.260615Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=50 frame=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 50, source_cid: 150 } } [INFO] [stdout] 2026-01-16T03:01:58.260636Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=SynAck { header: LongHeader { command: SynAck, protocol_version: 1, destination_cid: 50, source_cid: 150 } } [INFO] [stdout] 2026-01-16T03:01:58.260640Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=233 slot_index=27 delay_ms=292000 [INFO] [stdout] 2026-01-16T03:01:58.260654Z DEBUG kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN-ACK frame cid=50 peer_cid=150 state=Connecting [INFO] [stdout] 2026-01-16T03:01:58.260666Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=233 entry_id=233 connection_id=232 delay_ms=292000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260388Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.260706Z TRACE kestrel_protocol::timer::wheel::core: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.253492Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=140 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.260735Z TRACE kestrel_protocol::timer::task::global: Timer cancelled successfully entry_id=2 [INFO] [stdout] 2026-01-16T03:01:58.260740Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=234 slot_index=127 delay_ms=293000 [INFO] [stdout] 2026-01-16T03:01:58.260745Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=140 entry_id=140 connection_id=139 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260765Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=234 entry_id=234 connection_id=233 delay_ms=293000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260775Z DEBUG kestrel_protocol::core::endpoint::processing::operations: Connection timeout timer cancelled: true [INFO] [stdout] 2026-01-16T03:01:58.260788Z DEBUG kestrel_protocol::core::endpoint::lifecycle::manager: Attempting state transition cid=50 current_state=Connecting target_state=Established [INFO] [stdout] 2026-01-16T03:01:58.252454Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=338 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.260808Z TRACE kestrel_protocol::core::endpoint::lifecycle::transitions: State transition executed cid=50 from="Connecting" to="Established" [INFO] [stdout] 2026-01-16T03:01:58.259981Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=219 entry_id=219 connection_id=3104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260850Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=338 entry_id=338 connection_id=337 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260940Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=339 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.260952Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=220 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.260961Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=2260769620 [INFO] [stdout] 2026-01-16T03:01:58.260969Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=339 entry_id=339 connection_id=338 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260984Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=220 entry_id=220 connection_id=2004 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260991Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=2260769620 state=Closing [INFO] [stdout] 2026-01-16T03:01:58.261042Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=340 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261069Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=340 entry_id=340 connection_id=339 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261094Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=30 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261101Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=221 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261124Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=30 entry_id=30 connection_id=29 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261133Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=221 entry_id=221 connection_id=1504 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261143Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=341 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261169Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=341 entry_id=341 connection_id=340 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261225Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=31 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261238Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=342 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=222 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261251Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=31 entry_id=31 connection_id=30 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261268Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=342 entry_id=342 connection_id=341 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261276Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=222 entry_id=222 connection_id=1304 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261340Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=343 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261364Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=32 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261368Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=343 entry_id=343 connection_id=342 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261378Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=223 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261388Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=32 entry_id=32 connection_id=31 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261408Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=223 entry_id=223 connection_id=704 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261440Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=344 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261466Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=344 entry_id=344 connection_id=343 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261480Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=33 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261505Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=33 entry_id=33 connection_id=32 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261509Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=235 slot_index=227 delay_ms=294000 [INFO] [stdout] 2026-01-16T03:01:58.261552Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=235 entry_id=235 connection_id=234 delay_ms=294000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261554Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=345 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261581Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=345 entry_id=345 connection_id=344 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261591Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=34 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261618Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=34 entry_id=34 connection_id=33 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261636Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=236 slot_index=327 delay_ms=295000 [INFO] [stdout] 2026-01-16T03:01:58.261656Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=346 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261665Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=236 entry_id=236 connection_id=235 delay_ms=295000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261682Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=346 entry_id=346 connection_id=345 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261687Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=35 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261710Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=35 entry_id=35 connection_id=34 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261742Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=237 slot_index=427 delay_ms=296000 [INFO] [stdout] 2026-01-16T03:01:58.261763Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=36 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261759Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=347 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.261770Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=237 entry_id=237 connection_id=236 delay_ms=296000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=36 entry_id=36 connection_id=35 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261787Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=347 entry_id=347 connection_id=346 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261850Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=37 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261868Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=238 slot_index=15 delay_ms=297000 [INFO] [stdout] 2026-01-16T03:01:58.261872Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=37 entry_id=37 connection_id=36 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261895Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=238 entry_id=238 connection_id=237 delay_ms=297000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261942Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=38 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.261966Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=38 entry_id=38 connection_id=37 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.261971Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=239 slot_index=115 delay_ms=298000 [INFO] [stdout] 2026-01-16T03:01:58.261999Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=239 entry_id=239 connection_id=238 delay_ms=298000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262027Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=39 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.262047Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=39 entry_id=39 connection_id=38 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260848Z  INFO kestrel_protocol::core::endpoint::processing::processors::connection: Connection established cid=50 peer_cid=150 [INFO] [stdout] 2026-01-16T03:01:58.262078Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=240 slot_index=215 delay_ms=299000 [INFO] [stdout] 2026-01-16T03:01:58.262093Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=50 frame=Push { header: ShortHeader { command: Push, connection_id: 50, payload_length: 4, recv_window_size: 256, timestamp: 144, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.262106Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=240 entry_id=240 connection_id=239 delay_ms=299000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262125Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 50, payload_length: 4, recv_window_size: 256, timestamp: 144, sequence_number: 0, recv_next_sequence: 0 }, payload: b"init" } [INFO] [stdout] 2026-01-16T03:01:58.262146Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=50 seq=0 payload_len=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.262161Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=50 seq=0 payload_len=4 [INFO] [stdout] 2026-01-16T03:01:58.262184Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=241 slot_index=315 delay_ms=300000 [INFO] [stdout] 2026-01-16T03:01:58.262183Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 150, payload_length: 8, recv_window_size: 255, timestamp: 118, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.262211Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=50 [INFO] [stdout] 2026-01-16T03:01:58.262211Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=241 entry_id=241 connection_id=240 delay_ms=300000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262225Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=50 count=1 [INFO] [stdout] 2026-01-16T03:01:58.262248Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=50 state=Established [INFO] [stdout] 2026-01-16T03:01:58.262291Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=242 slot_index=415 delay_ms=301000 [INFO] [stdout] 2026-01-16T03:01:58.262319Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=242 entry_id=242 connection_id=241 delay_ms=301000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262391Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=243 slot_index=3 delay_ms=302000 [INFO] [stdout] 2026-01-16T03:01:58.262390Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=69 slots_to_advance=6 max_advance=6 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.262416Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=243 entry_id=243 connection_id=242 delay_ms=302000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262485Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=244 slot_index=103 delay_ms=303000 [INFO] [stdout] 2026-01-16T03:01:58.262533Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=244 entry_id=244 connection_id=243 delay_ms=303000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262614Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=245 slot_index=203 delay_ms=304000 [INFO] [stdout] 2026-01-16T03:01:58.262639Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=245 entry_id=245 connection_id=244 delay_ms=304000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262690Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=64 slots_to_advance=6 max_advance=6 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.262705Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=246 slot_index=303 delay_ms=305000 [INFO] [stdout] 2026-01-16T03:01:58.262730Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=246 entry_id=246 connection_id=245 delay_ms=305000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262798Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=247 slot_index=403 delay_ms=306000 [INFO] [stdout] 2026-01-16T03:01:58.262843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=247 entry_id=247 connection_id=246 delay_ms=306000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.260700Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.262879Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.262922Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=248 slot_index=503 delay_ms=307000 [INFO] [stdout] 2026-01-16T03:01:58.262916Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 251, timestamp: 445, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.262944Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=102 [INFO] [stdout] 2026-01-16T03:01:58.262948Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=248 entry_id=248 connection_id=247 delay_ms=307000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.262964Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=102 state=Established [INFO] [stdout] 2026-01-16T03:01:58.263002Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=50 slots_to_advance=5 max_advance=5 current_slot=36 [INFO] [stdout] 2026-01-16T03:01:58.263020Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=249 slot_index=91 delay_ms=308000 [INFO] [stdout] 2026-01-16T03:01:58.263036Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=59 slots_to_advance=5 max_advance=5 current_slot=26 [INFO] [stdout] 2026-01-16T03:01:58.263045Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=249 entry_id=249 connection_id=248 delay_ms=308000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263067Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=54 slots_to_advance=5 max_advance=5 current_slot=36 [INFO] [stdout] 2026-01-16T03:01:58.263106Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=59 slots_to_advance=5 max_advance=5 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.263117Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=250 slot_index=191 delay_ms=309000 [INFO] [stdout] 2026-01-16T03:01:58.263144Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=58 slots_to_advance=5 max_advance=5 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.263144Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=250 entry_id=250 connection_id=249 delay_ms=309000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263185Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=57 slots_to_advance=5 max_advance=5 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.263217Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=251 slot_index=291 delay_ms=310000 [INFO] [stdout] 2026-01-16T03:01:58.262957Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.263244Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=251 entry_id=251 connection_id=250 delay_ms=310000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263251Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=50 [INFO] [stdout] 2026-01-16T03:01:58.263286Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=0 [INFO] [stdout] 2026-01-16T03:01:58.263301Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=1 [INFO] [stdout] 2026-01-16T03:01:58.263314Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=2 [INFO] [stdout] 2026-01-16T03:01:58.263325Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=3 [INFO] [stdout] 2026-01-16T03:01:58.263321Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=252 slot_index=391 delay_ms=311000 [INFO] [stdout] 2026-01-16T03:01:58.263336Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=4 [INFO] [stdout] 2026-01-16T03:01:58.263348Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=5 [INFO] [stdout] 2026-01-16T03:01:58.263349Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=252 entry_id=252 connection_id=251 delay_ms=311000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263358Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=6 [INFO] [stdout] 2026-01-16T03:01:58.263370Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=7 [INFO] [stdout] 2026-01-16T03:01:58.263381Z TRACE kestrel_protocol::core::reliability::retransmission: Adding frame to SACK-based retransmission seq=8 [INFO] [stdout] 2026-01-16T03:01:58.263427Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=253 slot_index=491 delay_ms=312000 [INFO] [stdout] 2026-01-16T03:01:58.263456Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=253 entry_id=253 connection_id=252 delay_ms=312000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263396Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 0, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.263546Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=254 slot_index=79 delay_ms=313000 [INFO] [stdout] 2026-01-16T03:01:58.263272Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.263576Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=254 entry_id=254 connection_id=253 delay_ms=313000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263584Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.263516Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 1, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.263604Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.263633Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 250, timestamp: 445, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.263659Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=255 slot_index=179 delay_ms=314000 [INFO] [stdout] 2026-01-16T03:01:58.263686Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=255 entry_id=255 connection_id=254 delay_ms=314000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263622Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 2, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.263760Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=256 slot_index=279 delay_ms=315000 [INFO] [stdout] 2026-01-16T03:01:58.263787Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=256 entry_id=256 connection_id=255 delay_ms=315000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263723Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 3, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.263858Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=40 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.263867Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=224 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.263882Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=40 entry_id=40 connection_id=39 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263894Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=224 entry_id=224 connection_id=2204 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.263990Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=41 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.258617Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.264017Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=41 entry_id=41 connection_id=40 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264052Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=225 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264116Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=42 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264144Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=42 entry_id=42 connection_id=41 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264235Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=43 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264256Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=225 entry_id=225 connection_id=4904 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=43 entry_id=43 connection_id=42 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264306Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=226 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264042Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.264328Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=226 entry_id=226 connection_id=2104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264351Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.264361Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=44 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264369Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=227 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264372Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.264389Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=44 entry_id=44 connection_id=43 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264391Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=227 entry_id=227 connection_id=2404 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264401Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 250, timestamp: 447, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.264429Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=228 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264486Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=228 entry_id=228 connection_id=3304 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264493Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=45 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264520Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=45 entry_id=45 connection_id=44 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264531Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=229 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264553Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=229 entry_id=229 connection_id=2604 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264579Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=230 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264598Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=230 entry_id=230 connection_id=4704 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264610Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=46 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264630Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=231 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264636Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=46 entry_id=46 connection_id=45 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264650Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=231 entry_id=231 connection_id=4804 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264687Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=232 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264710Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=232 entry_id=232 connection_id=204 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264710Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=47 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264439Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.264737Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=47 entry_id=47 connection_id=46 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264746Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=233 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264765Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=233 entry_id=233 connection_id=804 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264794Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=234 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264809Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=48 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264855Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=48 entry_id=48 connection_id=47 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264915Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=49 slot_index=368 delay_ms=60000 [INFO] [stdout] test socket::tests::rebind::test_rebind_with_existing_connections ... ok [INFO] [stdout] 2026-01-16T03:01:58.264939Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=49 entry_id=49 connection_id=48 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.265001Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=50 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.264811Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=234 entry_id=234 connection_id=304 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.265025Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=50 entry_id=50 connection_id=49 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.264757Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.267732Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=348 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.267765Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=348 entry_id=348 connection_id=347 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.267876Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=349 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.267912Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=349 entry_id=349 connection_id=348 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.267993Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=350 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268031Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=350 entry_id=350 connection_id=349 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268116Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=351 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268182Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=351 entry_id=351 connection_id=350 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268265Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=352 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268300Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=352 entry_id=352 connection_id=351 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268383Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=353 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268418Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=353 entry_id=353 connection_id=352 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268514Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=354 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268549Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=354 entry_id=354 connection_id=353 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268630Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=355 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268664Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=355 entry_id=355 connection_id=354 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268737Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=356 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268768Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=356 entry_id=356 connection_id=355 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268866Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=357 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268894Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=357 entry_id=357 connection_id=356 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.268966Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=358 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.268993Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=358 entry_id=358 connection_id=357 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269064Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=359 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269097Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=359 entry_id=359 connection_id=358 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269169Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=360 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269196Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=360 entry_id=360 connection_id=359 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269276Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=361 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269303Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=361 entry_id=361 connection_id=360 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269376Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=362 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269408Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=362 entry_id=362 connection_id=361 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269481Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=363 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269521Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=363 entry_id=363 connection_id=362 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269604Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=364 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269637Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=364 entry_id=364 connection_id=363 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.269721Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=365 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.269759Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=365 entry_id=365 connection_id=364 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.271359Z DEBUG kestrel_protocol::socket::transport::udp: Sending UDP datagram addr=127.0.0.1:49023 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.271559Z DEBUG kestrel_protocol::socket::transport::udp: Received UDP datagram and pushed to buffer addr=127.0.0.1:56483 frame_count=1 bytes=27 [INFO] [stdout] 2026-01-16T03:01:58.267623Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.275637Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.275700Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 249, timestamp: 458, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.275770Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.276103Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.276418Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.276441Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.276473Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 248, timestamp: 459, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.276523Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=108 frame=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.276703Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 108, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" } [INFO] [stdout] 2026-01-16T03:01:58.276887Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=108 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.276905Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=108 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.276933Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=108 remote_addr=127.0.0.1:9007 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 247, timestamp: 460, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.276969Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=108 [INFO] [stdout] 2026-01-16T03:01:58.276994Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=108 count=9 [INFO] [stdout] 2026-01-16T03:01:58.277031Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=108 state=Established [INFO] [stdout] 2026-01-16T03:01:58.277022Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=101 slots_to_advance=10 max_advance=10 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.277065Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=9 expiry_time=Instant { tv_sec: 17987, tv_nsec: 814390609 } [INFO] [stdout] 2026-01-16T03:01:58.277087Z DEBUG kestrel_protocol::timer::wheel::core: Timing wheel advance completed expired_count=1 [INFO] [stdout] 2026-01-16T03:01:58.277115Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=104 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 4 } } [INFO] [stdout] 2026-01-16T03:01:58.277142Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 4 } } [INFO] [stdout] 2026-01-16T03:01:58.277149Z TRACE kestrel_protocol::timer::event: Timer event triggered successfully timer_id=9 connection_id=1 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.277163Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=104 peer_cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.277180Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=104 state=Established [INFO] [stdout] 2026-01-16T03:01:58.277179Z TRACE kestrel_protocol::timer::task::global: Timer event processed entry_id=9 connection_id=1 event_type=ConnectionTimeout [INFO] [stdout] 2026-01-16T03:01:58.277199Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=104 frame=Ack { header: ShortHeader { command: Ack, connection_id: 104, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.277222Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 104, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.277242Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=104 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.277268Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=104 [INFO] [stdout] 2026-01-16T03:01:58.277288Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=104 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.277326Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.277348Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.277369Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=462 srtt_ms=462 rttvar_ms=231 rto_ms=1387 [INFO] [stdout] 2026-01-16T03:01:58.277389Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.277401Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] test timer::task::tests::tests::test_connection_lifecycle_management ... ok [INFO] [stdout] 2026-01-16T03:01:58.277685Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.277850Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.277898Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.277939Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=488 delay_ms=10000 [INFO] [stdout] 2026-01-16T03:01:58.277974Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=10000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.278071Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=488 delay_ms=10000 [INFO] [stdout] 2026-01-16T03:01:58.278105Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=2 delay_ms=10000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.278182Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=3 slot_index=488 delay_ms=10000 [INFO] [stdout] 2026-01-16T03:01:58.278217Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=3 entry_id=3 connection_id=3 delay_ms=10000 event_type=IdleTimeout [INFO] [stdout] test timer::task::tests::tests::test_timer_stats ... ok [INFO] [stdout] 2026-01-16T03:01:58.278623Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.265076Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=235 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.265089Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=51 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.278878Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=235 entry_id=235 connection_id=1005 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.278896Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=51 entry_id=51 connection_id=50 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.278962Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=236 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.278998Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=236 entry_id=236 connection_id=904 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.278998Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=52 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279028Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=52 entry_id=52 connection_id=51 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279083Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=237 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279117Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=237 entry_id=237 connection_id=3704 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] test timer::task::tests::tests::test_timer_task_creation ... 2026-01-16T03:01:58.279170Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=238 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279175Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=53 slot_index=368 delay_ms=60000 [INFO] [stdout] ok [INFO] [stdout] 2026-01-16T03:01:58.265189Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=257 slot_index=379 delay_ms=316000 [INFO] [stdout] 2026-01-16T03:01:58.265963Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=141 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279205Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=238 entry_id=238 connection_id=3204 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.265111Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 4, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.279249Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=141 entry_id=141 connection_id=140 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279260Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=239 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279204Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=53 entry_id=53 connection_id=52 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279287Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=239 entry_id=239 connection_id=3004 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279321Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=240 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279340Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=54 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279346Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=240 entry_id=240 connection_id=405 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279353Z TRACE kestrel_protocol::timer::task::global: Batch registered timers successfully using wheel batch API batch_size=10000 [INFO] [stdout] 2026-01-16T03:01:58.279366Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=54 entry_id=54 connection_id=53 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279387Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=241 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279287Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 5, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.279410Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=241 entry_id=241 connection_id=3504 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279422Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=55 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279443Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=55 entry_id=55 connection_id=54 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279449Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=242 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279475Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=242 entry_id=242 connection_id=3604 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279491Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.279498Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=56 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279415Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 6, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.279520Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=56 entry_id=56 connection_id=55 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279524Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=243 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279548Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=243 entry_id=243 connection_id=3804 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279587Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=244 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279603Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=57 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279610Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=244 entry_id=244 connection_id=3404 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279544Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 1200, recv_window_size: 256, timestamp: 119, sequence_number: 7, recv_next_sequence: 1 }, payload: b"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.279654Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=245 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279671Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=57 entry_id=57 connection_id=56 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279677Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=245 entry_id=245 connection_id=605 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279714Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=246 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279661Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=50 remote_addr=127.0.0.1:8000 frame_count=1 first_frame=Push { header: ShortHeader { command: Push, connection_id: 150, payload_length: 640, recv_window_size: 256, timestamp: 119, sequence_number: 8, recv_next_sequence: 1 }, payload: b"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" } [INFO] [stdout] 2026-01-16T03:01:58.279731Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=58 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279736Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=246 entry_id=246 connection_id=105 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279748Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=50 state=Established [INFO] [stdout] 2026-01-16T03:01:58.279754Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=58 entry_id=58 connection_id=57 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279777Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=247 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279801Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=247 entry_id=247 connection_id=1105 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279818Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=59 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279847Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=72 slots_to_advance=7 max_advance=7 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.279857Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=248 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279867Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=59 entry_id=59 connection_id=58 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279870Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=66 slots_to_advance=6 max_advance=6 current_slot=0 [INFO] [stdout] 2026-01-16T03:01:58.279883Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=248 entry_id=248 connection_id=505 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279897Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=73 slots_to_advance=7 max_advance=7 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.279907Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=142 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279924Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=249 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279937Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=60 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.279939Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=72 slots_to_advance=7 max_advance=7 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.279942Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=142 entry_id=142 connection_id=141 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279949Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=249 entry_id=249 connection_id=1405 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279961Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=60 entry_id=60 connection_id=59 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.279992Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=250 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280008Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=44 [INFO] [stdout] 2026-01-16T03:01:58.280017Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=250 entry_id=250 connection_id=6 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280021Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=61 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280033Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=44 state=Established [INFO] [stdout] 2026-01-16T03:01:58.280044Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=61 entry_id=61 connection_id=60 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280056Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=251 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280078Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=251 entry_id=251 connection_id=1205 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280091Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=143 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280108Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=62 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280118Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=252 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280126Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=143 entry_id=143 connection_id=142 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280132Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=62 entry_id=62 connection_id=61 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280141Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=252 entry_id=252 connection_id=4204 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280180Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=253 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280185Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=63 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280203Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=253 entry_id=253 connection_id=1605 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280206Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=63 entry_id=63 connection_id=62 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=254 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280242Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=75 slots_to_advance=7 max_advance=7 current_slot=23 [INFO] [stdout] 2026-01-16T03:01:58.280258Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=144 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280267Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=254 entry_id=254 connection_id=4004 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280278Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=64 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280290Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=144 entry_id=144 connection_id=143 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280304Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=64 entry_id=64 connection_id=63 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280308Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=255 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280319Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=122 slots_to_advance=12 max_advance=12 current_slot=20 [INFO] [stdout] 2026-01-16T03:01:58.280331Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=255 entry_id=255 connection_id=3904 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280365Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=256 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280365Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=72 slots_to_advance=7 max_advance=7 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.280372Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=65 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280387Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=256 entry_id=256 connection_id=4104 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280394Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=65 entry_id=65 connection_id=64 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280409Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=74 slots_to_advance=7 max_advance=7 current_slot=35 [INFO] [stdout] 2026-01-16T03:01:58.280419Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=145 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280449Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=145 entry_id=145 connection_id=144 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280458Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=66 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280484Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=66 entry_id=66 connection_id=65 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280488Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=68 slots_to_advance=6 max_advance=6 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.280542Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=67 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280541Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=68 slots_to_advance=6 max_advance=6 current_slot=25 [INFO] [stdout] 2026-01-16T03:01:58.280541Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=257 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280565Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=67 entry_id=67 connection_id=66 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280570Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=257 entry_id=257 connection_id=4404 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280593Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=146 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280615Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=258 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280624Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=146 entry_id=146 connection_id=145 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280631Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=68 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280639Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=258 entry_id=258 connection_id=4304 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280657Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=68 entry_id=68 connection_id=67 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280679Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=259 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280702Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=259 entry_id=259 connection_id=1705 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280712Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=69 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280737Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=69 entry_id=69 connection_id=68 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280742Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=260 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280752Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=147 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280764Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=260 entry_id=260 connection_id=4504 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280781Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=147 entry_id=147 connection_id=146 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280797Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=70 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280800Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=261 slot_index=369 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=70 entry_id=70 connection_id=69 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280872Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 255, timestamp: 436, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.280902Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 255, timestamp: 436, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.280916Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=71 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280916Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=148 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.280926Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=255 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.280938Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=71 entry_id=71 connection_id=70 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280948Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.280943Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=148 entry_id=148 connection_id=147 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.280965Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=255 [INFO] [stdout] 2026-01-16T03:01:58.280999Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=0 [INFO] [stdout] 2026-01-16T03:01:58.280997Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=72 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281017Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.281022Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=72 entry_id=72 connection_id=71 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281034Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=149 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281038Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=462 srtt_ms=462 rttvar_ms=231 rto_ms=1388 [INFO] [stdout] 2026-01-16T03:01:58.281058Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.281059Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=149 entry_id=149 connection_id=148 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281071Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=32 new_cwnd=33 [INFO] [stdout] 2026-01-16T03:01:58.281085Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=73 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281092Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 254, timestamp: 439, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.281106Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=73 entry_id=73 connection_id=72 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281114Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 254, timestamp: 439, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x01" } [INFO] [stdout] 2026-01-16T03:01:58.281133Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=254 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.281153Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.281152Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=150 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281160Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=74 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281167Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=254 [INFO] [stdout] 2026-01-16T03:01:58.281177Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=150 entry_id=150 connection_id=149 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281182Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=74 entry_id=74 connection_id=73 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281192Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=1 [INFO] [stdout] 2026-01-16T03:01:58.281205Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.281225Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=462 srtt_ms=462 rttvar_ms=173 rto_ms=1157 [INFO] [stdout] 2026-01-16T03:01:58.281244Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.281248Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=75 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281255Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=33 new_cwnd=34 [INFO] [stdout] 2026-01-16T03:01:58.281265Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=151 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281274Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 253, timestamp: 440, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.281280Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=75 entry_id=75 connection_id=74 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281292Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=151 entry_id=151 connection_id=150 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281297Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 253, timestamp: 440, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x02" } [INFO] [stdout] 2026-01-16T03:01:58.281320Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=253 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.281341Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.281343Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=76 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281354Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=253 [INFO] [stdout] 2026-01-16T03:01:58.281363Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=76 entry_id=76 connection_id=75 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281379Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=2 [INFO] [stdout] 2026-01-16T03:01:58.281394Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.281415Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=463 srtt_ms=462 rttvar_ms=130 rto_ms=983 [INFO] [stdout] 2026-01-16T03:01:58.281419Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=77 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281432Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=35 [INFO] [stdout] 2026-01-16T03:01:58.281442Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=34 new_cwnd=35 [INFO] [stdout] 2026-01-16T03:01:58.281439Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=77 entry_id=77 connection_id=76 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281460Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 252, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.281484Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 252, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.281496Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=78 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281506Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=252 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.281517Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=78 entry_id=78 connection_id=77 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281534Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.281549Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=252 [INFO] [stdout] 2026-01-16T03:01:58.281576Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=3 [INFO] [stdout] 2026-01-16T03:01:58.281582Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=79 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281592Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.281604Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=79 entry_id=79 connection_id=78 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281610Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=463 srtt_ms=462 rttvar_ms=97 rto_ms=854 [INFO] [stdout] 2026-01-16T03:01:58.281625Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=36 [INFO] [stdout] 2026-01-16T03:01:58.281637Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=35 new_cwnd=36 [INFO] [stdout] 2026-01-16T03:01:58.281657Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 251, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.281681Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=80 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281681Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 251, timestamp: 441, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.281702Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=80 entry_id=80 connection_id=79 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281716Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=251 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.265126Z TRACE mio::poll: registering event source with poller: token=Token(1), interests=READABLE [INFO] [stdout] 2026-01-16T03:01:58.281769Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=81 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281795Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=81 entry_id=81 connection_id=80 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281871Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=82 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281893Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=82 entry_id=82 connection_id=81 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281910Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.281946Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.281946Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=83 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.281736Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.281968Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=83 entry_id=83 connection_id=82 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.281987Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=1 slot_index=500 delay_ms=5000 [INFO] [stdout] 2026-01-16T03:01:58.282001Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=251 [INFO] [stdout] 2026-01-16T03:01:58.259212Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=3 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282047Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=84 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282056Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=4 [INFO] [stdout] 2026-01-16T03:01:58.282073Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.282069Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=3 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.282092Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=463 srtt_ms=462 rttvar_ms=73 rto_ms=757 [INFO] [stdout] 2026-01-16T03:01:58.282074Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=84 entry_id=84 connection_id=83 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282108Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=37 [INFO] [stdout] 2026-01-16T03:01:58.282119Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=36 new_cwnd=37 [INFO] [stdout] 2026-01-16T03:01:58.282024Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=1 entry_id=1 connection_id=1 delay_ms=5000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282126Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 252, timestamp: 466, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x03" } [INFO] [stdout] 2026-01-16T03:01:58.282139Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 250, timestamp: 447, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.282163Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=85 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282167Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 250, timestamp: 447, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.282186Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=250 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282186Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=85 entry_id=85 connection_id=84 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282203Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.282218Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=250 [INFO] [stdout] 2026-01-16T03:01:58.282218Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=2 slot_index=10 delay_ms=100 [INFO] [stdout] 2026-01-16T03:01:58.282246Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=5 [INFO] [stdout] 2026-01-16T03:01:58.282246Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=2 entry_id=2 connection_id=1 delay_ms=100 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282250Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=86 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282262Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.282280Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=463 srtt_ms=463 rttvar_ms=55 rto_ms=684 [INFO] [stdout] 2026-01-16T03:01:58.282282Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=86 entry_id=86 connection_id=85 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282296Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=38 [INFO] [stdout] 2026-01-16T03:01:58.282310Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=37 new_cwnd=38 [INFO] [stdout] 2026-01-16T03:01:58.282331Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 249, timestamp: 458, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.282348Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=87 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282355Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 249, timestamp: 458, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.282369Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=87 entry_id=87 connection_id=86 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282374Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=249 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282392Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.282406Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=249 [INFO] [stdout] 2026-01-16T03:01:58.282432Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=6 [INFO] [stdout] 2026-01-16T03:01:58.282431Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=88 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282167Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.282447Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.282453Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=88 entry_id=88 connection_id=87 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282467Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=464 srtt_ms=463 rttvar_ms=41 rto_ms=630 [INFO] [stdout] 2026-01-16T03:01:58.282484Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=39 [INFO] [stdout] 2026-01-16T03:01:58.282496Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=38 new_cwnd=39 [INFO] [stdout] 2026-01-16T03:01:58.282507Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=89 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282515Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 248, timestamp: 459, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.282529Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=89 entry_id=89 connection_id=88 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282547Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 248, timestamp: 459, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.282568Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=248 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282588Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.282593Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=90 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282602Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=248 [INFO] [stdout] 2026-01-16T03:01:58.282613Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=90 entry_id=90 connection_id=89 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282627Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=7 [INFO] [stdout] 2026-01-16T03:01:58.282644Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.282665Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=464 srtt_ms=463 rttvar_ms=31 rto_ms=590 [INFO] [stdout] 2026-01-16T03:01:58.282682Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=40 [INFO] [stdout] 2026-01-16T03:01:58.282679Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=91 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282692Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=39 new_cwnd=40 [INFO] [stdout] 2026-01-16T03:01:58.282700Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=91 entry_id=91 connection_id=90 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282710Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=8 frame=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 247, timestamp: 460, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.282733Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="AckProcessor" frame_type=Ack { header: ShortHeader { command: Ack, connection_id: 8, payload_length: 8, recv_window_size: 247, timestamp: 460, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.282467Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 4, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.282754Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK frame cid=8 recv_next_seq=0 recv_window=247 payload_len=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282760Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=92 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.282763Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=4 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.282776Z TRACE kestrel_protocol::core::endpoint::processing::processors::ack: Handling ACK in Established state cid=8 [INFO] [stdout] 2026-01-16T03:01:58.282780Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=4 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.282782Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=92 entry_id=92 connection_id=91 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282789Z DEBUG kestrel_protocol::core::endpoint::processing::processors::ack: Processing ACK with SACK ranges cid=8 recv_next_seq=0 sack_ranges_count=1 peer_recv_window=247 [INFO] [stdout] 2026-01-16T03:01:58.282802Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 251, timestamp: 466, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x04" } [INFO] [stdout] 2026-01-16T03:01:58.282814Z TRACE kestrel_protocol::core::reliability::retransmission::sack_manager: Checking for fast retransmission against in-flight packets highest_sacked=8 [INFO] [stdout] 2026-01-16T03:01:58.285901Z DEBUG kestrel_protocol::core::reliability::retransmission: Processed ACK with unified retransmission manager cumulative_ack=0 sack_ranges_count=1 sack_acked_count=1 simple_acked_count=0 rtt_samples_count=1 [INFO] [stdout] 2026-01-16T03:01:58.285931Z TRACE kestrel_protocol::core::reliability::retransmission::rtt: RTT updated sample_ms=464 srtt_ms=463 rttvar_ms=24 rto_ms=559 [INFO] [stdout] 2026-01-16T03:01:58.285951Z TRACE kestrel_protocol::core::reliability::congestion::vegas: Slow Start: cwnd increased cwnd=41 [INFO] [stdout] 2026-01-16T03:01:58.285964Z TRACE kestrel_protocol::core::reliability: Congestion window updated on ACK old_cwnd=40 new_cwnd=41 [INFO] [stdout] 2026-01-16T03:01:58.285985Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=8 [INFO] [stdout] 2026-01-16T03:01:58.286010Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=8 state=Established [INFO] [stdout] 2026-01-16T03:01:58.285875Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.286161Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=80 slots_to_advance=8 max_advance=8 current_slot=22 [INFO] [stdout] 2026-01-16T03:01:58.286402Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=46 [INFO] [stdout] 2026-01-16T03:01:58.286430Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=46 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286190Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 5, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.286474Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=48 [INFO] [stdout] 2026-01-16T03:01:58.286476Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=5 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286494Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=5 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.286499Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=48 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286534Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 250, timestamp: 470, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x05" } [INFO] [stdout] 2026-01-16T03:01:58.286629Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=34 [INFO] [stdout] 2026-01-16T03:01:58.286679Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=34 [INFO] [stdout] 2026-01-16T03:01:58.286733Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=45 [INFO] [stdout] 2026-01-16T03:01:58.286756Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=45 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286795Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=139 [INFO] [stdout] 2026-01-16T03:01:58.286813Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=139 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286569Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.286897Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=106 [INFO] [stdout] 2026-01-16T03:01:58.286921Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=106 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286961Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=4 [INFO] [stdout] 2026-01-16T03:01:58.286981Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=4 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287021Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=7 [INFO] [stdout] 2026-01-16T03:01:58.287042Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=7 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287082Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=49 [INFO] [stdout] 2026-01-16T03:01:58.287102Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=49 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287137Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=149 [INFO] [stdout] 2026-01-16T03:01:58.287154Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=149 state=Established [INFO] [stdout] 2026-01-16T03:01:58.286887Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.287189Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=122 [INFO] [stdout] 2026-01-16T03:01:58.287220Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=122 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287262Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=124 [INFO] [stdout] 2026-01-16T03:01:58.287282Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=124 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287279Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=257 entry_id=257 connection_id=256 delay_ms=316000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287320Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=129 [INFO] [stdout] 2026-01-16T03:01:58.287338Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=129 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287373Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=130 [INFO] [stdout] 2026-01-16T03:01:58.287380Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=258 slot_index=479 delay_ms=317000 [INFO] [stdout] 2026-01-16T03:01:58.287392Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=130 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287406Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=258 entry_id=258 connection_id=257 delay_ms=317000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287430Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=131 [INFO] [stdout] 2026-01-16T03:01:58.287449Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=131 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287464Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=259 slot_index=67 delay_ms=318000 [INFO] [stdout] 2026-01-16T03:01:58.287483Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=132 [INFO] [stdout] 2026-01-16T03:01:58.287485Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=259 entry_id=259 connection_id=258 delay_ms=318000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287501Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=132 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287547Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=9 [INFO] [stdout] 2026-01-16T03:01:58.287548Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=260 slot_index=167 delay_ms=319000 [INFO] [stdout] 2026-01-16T03:01:58.287568Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=9 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287573Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=260 entry_id=260 connection_id=259 delay_ms=319000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287605Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=38 [INFO] [stdout] 2026-01-16T03:01:58.287625Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=38 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287634Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=261 slot_index=267 delay_ms=320000 [INFO] [stdout] 2026-01-16T03:01:58.287656Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=261 entry_id=261 connection_id=260 delay_ms=320000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287664Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=39 [INFO] [stdout] 2026-01-16T03:01:58.287686Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=39 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287718Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=262 slot_index=367 delay_ms=321000 [INFO] [stdout] 2026-01-16T03:01:58.287725Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=134 [INFO] [stdout] 2026-01-16T03:01:58.287740Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=262 entry_id=262 connection_id=261 delay_ms=321000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287745Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=134 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287783Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=115 [INFO] [stdout] 2026-01-16T03:01:58.287801Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=115 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287800Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=263 slot_index=467 delay_ms=322000 [INFO] [stdout] 2026-01-16T03:01:58.287843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=263 entry_id=263 connection_id=262 delay_ms=322000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287861Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=135 [INFO] [stdout] 2026-01-16T03:01:58.287882Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=135 state=Established [INFO] [stdout] 2026-01-16T03:01:58.287911Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=264 slot_index=55 delay_ms=323000 [INFO] [stdout] 2026-01-16T03:01:58.287927Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=81 slots_to_advance=8 max_advance=8 current_slot=24 [INFO] [stdout] 2026-01-16T03:01:58.287936Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=264 entry_id=264 connection_id=263 delay_ms=323000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287979Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=136 [INFO] [stdout] 2026-01-16T03:01:58.288001Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=136 state=Established [INFO] [stdout] 2026-01-16T03:01:58.288001Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=265 slot_index=155 delay_ms=324000 [INFO] [stdout] 2026-01-16T03:01:58.288026Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=265 entry_id=265 connection_id=264 delay_ms=324000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288100Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=266 slot_index=255 delay_ms=325000 [INFO] [stdout] 2026-01-16T03:01:58.288137Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=266 entry_id=266 connection_id=265 delay_ms=325000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288201Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=267 slot_index=355 delay_ms=326000 [INFO] [stdout] 2026-01-16T03:01:58.288223Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=267 entry_id=267 connection_id=266 delay_ms=326000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288284Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=268 slot_index=455 delay_ms=327000 [INFO] [stdout] 2026-01-16T03:01:58.288305Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=268 entry_id=268 connection_id=267 delay_ms=327000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288399Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=269 slot_index=43 delay_ms=328000 [INFO] [stdout] 2026-01-16T03:01:58.288421Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=269 entry_id=269 connection_id=268 delay_ms=328000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288476Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=270 slot_index=143 delay_ms=329000 [INFO] [stdout] 2026-01-16T03:01:58.288496Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=270 entry_id=270 connection_id=269 delay_ms=329000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288567Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=271 slot_index=243 delay_ms=330000 [INFO] [stdout] 2026-01-16T03:01:58.288590Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=271 entry_id=271 connection_id=270 delay_ms=330000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288601Z  INFO kestrel_protocol::timer::task::handle: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.288647Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=272 slot_index=343 delay_ms=331000 [INFO] [stdout] 2026-01-16T03:01:58.288670Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=272 entry_id=272 connection_id=271 delay_ms=331000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288703Z  INFO kestrel_protocol::timer::task::global: Global timer task started [INFO] [stdout] 2026-01-16T03:01:58.288734Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=273 slot_index=443 delay_ms=332000 [INFO] [stdout] 2026-01-16T03:01:58.288758Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=273 entry_id=273 connection_id=272 delay_ms=332000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288847Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=274 slot_index=31 delay_ms=333000 [INFO] [stdout] 2026-01-16T03:01:58.288881Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=274 entry_id=274 connection_id=273 delay_ms=333000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.288957Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=275 slot_index=131 delay_ms=334000 [INFO] [stdout] 2026-01-16T03:01:58.288985Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=275 entry_id=275 connection_id=274 delay_ms=334000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289063Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=276 slot_index=231 delay_ms=335000 [INFO] [stdout] 2026-01-16T03:01:58.289078Z TRACE kestrel_protocol::timer::wheel::core: Batch added timers to timing wheel batch_size=100 [INFO] [stdout] 2026-01-16T03:01:58.289092Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=276 entry_id=276 connection_id=275 delay_ms=335000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289159Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=277 slot_index=331 delay_ms=336000 [INFO] [stdout] 2026-01-16T03:01:58.289182Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=277 entry_id=277 connection_id=276 delay_ms=336000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289238Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=278 slot_index=431 delay_ms=337000 [INFO] [stdout] 2026-01-16T03:01:58.289260Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=278 entry_id=278 connection_id=277 delay_ms=337000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289326Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=279 slot_index=19 delay_ms=338000 [INFO] [stdout] 2026-01-16T03:01:58.289354Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=279 entry_id=279 connection_id=278 delay_ms=338000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289419Z TRACE kestrel_protocol::timer::task::global: Batch registered timers successfully using wheel batch API batch_size=100 [INFO] [stdout] 2026-01-16T03:01:58.289427Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=280 slot_index=119 delay_ms=339000 [INFO] [stdout] 2026-01-16T03:01:58.289450Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=280 entry_id=280 connection_id=279 delay_ms=339000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289509Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=281 slot_index=219 delay_ms=340000 [INFO] [stdout] 2026-01-16T03:01:58.289546Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=281 entry_id=281 connection_id=280 delay_ms=340000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289609Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=282 slot_index=319 delay_ms=341000 [INFO] [stdout] 2026-01-16T03:01:58.289631Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=282 entry_id=282 connection_id=281 delay_ms=341000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289691Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=283 slot_index=419 delay_ms=342000 [INFO] [stdout] 2026-01-16T03:01:58.289717Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=283 entry_id=283 connection_id=282 delay_ms=342000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289784Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=284 slot_index=7 delay_ms=343000 [INFO] [stdout] 2026-01-16T03:01:58.289807Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=284 entry_id=284 connection_id=283 delay_ms=343000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289895Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=285 slot_index=107 delay_ms=344000 [INFO] [stdout] 2026-01-16T03:01:58.289919Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=285 entry_id=285 connection_id=284 delay_ms=344000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.289977Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=286 slot_index=207 delay_ms=345000 [INFO] [stdout] 2026-01-16T03:01:58.290000Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=286 entry_id=286 connection_id=285 delay_ms=345000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290059Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=287 slot_index=307 delay_ms=346000 [INFO] [stdout] 2026-01-16T03:01:58.290082Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=287 entry_id=287 connection_id=286 delay_ms=346000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290097Z TRACE kestrel_protocol::timer::wheel::core: Batch cancelled timers batch_size=100 cancelled_count=100 [INFO] [stdout] 2026-01-16T03:01:58.290144Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=288 slot_index=407 delay_ms=347000 [INFO] [stdout] 2026-01-16T03:01:58.290168Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=288 entry_id=288 connection_id=287 delay_ms=347000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290242Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=289 slot_index=507 delay_ms=348000 [INFO] [stdout] 2026-01-16T03:01:58.290266Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=289 entry_id=289 connection_id=288 delay_ms=348000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290336Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=290 slot_index=95 delay_ms=349000 [INFO] [stdout] 2026-01-16T03:01:58.290367Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=290 entry_id=290 connection_id=289 delay_ms=349000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290434Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=291 slot_index=195 delay_ms=350000 [INFO] [stdout] 2026-01-16T03:01:58.290459Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=291 entry_id=291 connection_id=290 delay_ms=350000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290537Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=292 slot_index=295 delay_ms=351000 [INFO] [stdout] 2026-01-16T03:01:58.290550Z TRACE kestrel_protocol::timer::task::global: Batch cancelled timers using wheel batch API batch_size=100 cancelled_count=100 wheel_cancelled_count=100 [INFO] [stdout] 2026-01-16T03:01:58.290563Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=292 entry_id=292 connection_id=291 delay_ms=351000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290628Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=293 slot_index=395 delay_ms=352000 [INFO] [stdout] 2026-01-16T03:01:58.290650Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=293 entry_id=293 connection_id=292 delay_ms=352000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290703Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=294 slot_index=495 delay_ms=353000 [INFO] [stdout] 2026-01-16T03:01:58.290722Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=294 entry_id=294 connection_id=293 delay_ms=353000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.290774Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=295 slot_index=83 delay_ms=354000 [INFO] [stdout] 2026-01-16T03:01:58.290795Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=295 entry_id=295 connection_id=294 delay_ms=354000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.291925Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=296 slot_index=183 delay_ms=355000 [INFO] [stdout] 2026-01-16T03:01:58.291950Z TRACE kestrel_protocol::timer::wheel::core: Batch added timers to timing wheel batch_size=500 [INFO] [stdout] 2026-01-16T03:01:58.291956Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=296 entry_id=296 connection_id=295 delay_ms=355000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292016Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=297 slot_index=283 delay_ms=356000 [INFO] [stdout] 2026-01-16T03:01:58.292039Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=297 entry_id=297 connection_id=296 delay_ms=356000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292099Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=298 slot_index=383 delay_ms=357000 [INFO] [stdout] 2026-01-16T03:01:58.292121Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=298 entry_id=298 connection_id=297 delay_ms=357000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292179Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=299 slot_index=483 delay_ms=358000 [INFO] [stdout] 2026-01-16T03:01:58.292202Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=299 entry_id=299 connection_id=298 delay_ms=358000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292261Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=300 slot_index=71 delay_ms=359000 [INFO] [stdout] 2026-01-16T03:01:58.292288Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=300 entry_id=300 connection_id=299 delay_ms=359000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292351Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=301 slot_index=171 delay_ms=360000 [INFO] [stdout] 2026-01-16T03:01:58.292373Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=301 entry_id=301 connection_id=300 delay_ms=360000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292435Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=302 slot_index=271 delay_ms=361000 [INFO] [stdout] 2026-01-16T03:01:58.292457Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=302 entry_id=302 connection_id=301 delay_ms=361000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292530Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=303 slot_index=371 delay_ms=362000 [INFO] [stdout] 2026-01-16T03:01:58.292556Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=303 entry_id=303 connection_id=302 delay_ms=362000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292621Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=304 slot_index=471 delay_ms=363000 [INFO] [stdout] 2026-01-16T03:01:58.292646Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=304 entry_id=304 connection_id=303 delay_ms=363000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292707Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=305 slot_index=59 delay_ms=364000 [INFO] [stdout] 2026-01-16T03:01:58.292731Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=305 entry_id=305 connection_id=304 delay_ms=364000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292802Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=306 slot_index=159 delay_ms=365000 [INFO] [stdout] 2026-01-16T03:01:58.292841Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=306 entry_id=306 connection_id=305 delay_ms=365000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292905Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=307 slot_index=259 delay_ms=366000 [INFO] [stdout] 2026-01-16T03:01:58.292925Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=307 entry_id=307 connection_id=306 delay_ms=366000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.292975Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=308 slot_index=359 delay_ms=367000 [INFO] [stdout] 2026-01-16T03:01:58.292995Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=308 entry_id=308 connection_id=307 delay_ms=367000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293045Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=309 slot_index=459 delay_ms=368000 [INFO] [stdout] 2026-01-16T03:01:58.293064Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=309 entry_id=309 connection_id=308 delay_ms=368000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293112Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=310 slot_index=47 delay_ms=369000 [INFO] [stdout] 2026-01-16T03:01:58.293133Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=310 entry_id=310 connection_id=309 delay_ms=369000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.282868Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=93 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.285262Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=384757967 [INFO] [stdout] 2026-01-16T03:01:58.293183Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=311 slot_index=147 delay_ms=370000 [INFO] [stdout] 2026-01-16T03:01:58.293201Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=311 entry_id=311 connection_id=310 delay_ms=370000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293201Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=384757967 state=SynReceived [INFO] [stdout] 2026-01-16T03:01:58.293198Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=93 entry_id=93 connection_id=92 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293250Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=312 slot_index=247 delay_ms=371000 [INFO] [stdout] 2026-01-16T03:01:58.283134Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=152 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293310Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=152 entry_id=152 connection_id=151 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293450Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=94 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293479Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=94 entry_id=94 connection_id=93 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293619Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=95 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293652Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=95 entry_id=95 connection_id=94 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293720Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=96 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293741Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=96 entry_id=96 connection_id=95 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293803Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=97 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293843Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=97 entry_id=97 connection_id=96 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293902Z TRACE kestrel_protocol::timer::task::global: Batch registered timers successfully using wheel batch API batch_size=500 [INFO] [stdout] 2026-01-16T03:01:58.293909Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=98 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.293928Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=98 entry_id=98 connection_id=97 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.287183Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.293986Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=99 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.294002Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.294009Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=99 entry_id=99 connection_id=98 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.294056Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 249, timestamp: 477, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.294111Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.294423Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.294720Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.294740Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.294762Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 248, timestamp: 478, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.295816Z TRACE kestrel_protocol::timer::wheel::core: Batch cancelled timers batch_size=500 cancelled_count=500 [INFO] [stdout] 2026-01-16T03:01:58.295932Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=153 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.295964Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=153 entry_id=153 connection_id=152 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.293269Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=312 entry_id=312 connection_id=311 delay_ms=371000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296102Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=313 slot_index=347 delay_ms=372000 [INFO] [stdout] 2026-01-16T03:01:58.296132Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=313 entry_id=313 connection_id=312 delay_ms=372000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296204Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=314 slot_index=447 delay_ms=373000 [INFO] [stdout] 2026-01-16T03:01:58.296231Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=314 entry_id=314 connection_id=313 delay_ms=373000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296307Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=315 slot_index=35 delay_ms=374000 [INFO] [stdout] 2026-01-16T03:01:58.296332Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=315 entry_id=315 connection_id=314 delay_ms=374000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296402Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=316 slot_index=135 delay_ms=375000 [INFO] [stdout] 2026-01-16T03:01:58.296430Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=316 entry_id=316 connection_id=315 delay_ms=375000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296503Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=317 slot_index=235 delay_ms=376000 [INFO] [stdout] 2026-01-16T03:01:58.296546Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=317 entry_id=317 connection_id=316 delay_ms=376000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296620Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=318 slot_index=335 delay_ms=377000 [INFO] [stdout] 2026-01-16T03:01:58.296647Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=318 entry_id=318 connection_id=317 delay_ms=377000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296718Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=319 slot_index=435 delay_ms=378000 [INFO] [stdout] 2026-01-16T03:01:58.296745Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=319 entry_id=319 connection_id=318 delay_ms=378000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296819Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=320 slot_index=23 delay_ms=379000 [INFO] [stdout] 2026-01-16T03:01:58.296872Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=320 entry_id=320 connection_id=319 delay_ms=379000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.296946Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=321 slot_index=123 delay_ms=380000 [INFO] [stdout] 2026-01-16T03:01:58.296968Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=321 entry_id=321 connection_id=320 delay_ms=380000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297023Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=322 slot_index=223 delay_ms=381000 [INFO] [stdout] 2026-01-16T03:01:58.297044Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=322 entry_id=322 connection_id=321 delay_ms=381000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297098Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=323 slot_index=323 delay_ms=382000 [INFO] [stdout] 2026-01-16T03:01:58.297117Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=323 entry_id=323 connection_id=322 delay_ms=382000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297170Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=324 slot_index=423 delay_ms=383000 [INFO] [stdout] 2026-01-16T03:01:58.297191Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=324 entry_id=324 connection_id=323 delay_ms=383000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297248Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=325 slot_index=11 delay_ms=384000 [INFO] [stdout] 2026-01-16T03:01:58.297271Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=325 entry_id=325 connection_id=324 delay_ms=384000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297331Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=326 slot_index=111 delay_ms=385000 [INFO] [stdout] 2026-01-16T03:01:58.297354Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=326 entry_id=326 connection_id=325 delay_ms=385000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297413Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=327 slot_index=211 delay_ms=386000 [INFO] [stdout] 2026-01-16T03:01:58.297435Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=327 entry_id=327 connection_id=326 delay_ms=386000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297494Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=328 slot_index=311 delay_ms=387000 [INFO] [stdout] 2026-01-16T03:01:58.297525Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=328 entry_id=328 connection_id=327 delay_ms=387000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297586Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=329 slot_index=411 delay_ms=388000 [INFO] [stdout] 2026-01-16T03:01:58.297609Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=329 entry_id=329 connection_id=328 delay_ms=388000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297665Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=330 slot_index=511 delay_ms=389000 [INFO] [stdout] 2026-01-16T03:01:58.297687Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=330 entry_id=330 connection_id=329 delay_ms=389000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297753Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=331 slot_index=99 delay_ms=390000 [INFO] [stdout] 2026-01-16T03:01:58.297776Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=331 entry_id=331 connection_id=330 delay_ms=390000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297887Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=154 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.297923Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=154 entry_id=154 connection_id=153 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.294792Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=107 frame=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.298037Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=155 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.298066Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=155 entry_id=155 connection_id=154 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.297990Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 107, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" } [INFO] [stdout] 2026-01-16T03:01:58.298169Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=156 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.298174Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=107 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.298197Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=107 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.298199Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=156 entry_id=156 connection_id=155 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298226Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=107 remote_addr=127.0.0.1:9006 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 7, payload_length: 8, recv_window_size: 247, timestamp: 482, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.298266Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=107 [INFO] [stdout] 2026-01-16T03:01:58.298299Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=107 count=9 [INFO] [stdout] 2026-01-16T03:01:58.298309Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=157 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.298339Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=107 state=Established [INFO] [stdout] 2026-01-16T03:01:58.298339Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=157 entry_id=157 connection_id=156 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298415Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=158 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.298443Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=158 entry_id=158 connection_id=157 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298471Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=111 frame=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 11 } } [INFO] [stdout] 2026-01-16T03:01:58.298499Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="ConnectionProcessor" frame_type=Syn { header: LongHeader { command: Syn, protocol_version: 1, destination_cid: 0, source_cid: 11 } } [INFO] [stdout] 2026-01-16T03:01:58.298520Z TRACE kestrel_protocol::core::endpoint::processing::processors::connection: Processing SYN frame cid=111 peer_cid=11 state=Established [INFO] [stdout] 2026-01-16T03:01:58.298527Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=159 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.298539Z  WARN kestrel_protocol::core::endpoint::processing::processors::connection: Ignoring SYN frame in unexpected state cid=111 state=Established [INFO] [stdout] 2026-01-16T03:01:58.298555Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=159 entry_id=159 connection_id=158 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298559Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=111 frame=Ack { header: ShortHeader { command: Ack, connection_id: 111, payload_length: 8, recv_window_size: 255, timestamp: 0, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\0" } [INFO] [stdout] 2026-01-16T03:01:58.298632Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=160 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.312117Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=160 entry_id=160 connection_id=159 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.312331Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=161 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.312371Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=161 entry_id=161 connection_id=160 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.312458Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=162 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.312494Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=162 entry_id=162 connection_id=161 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298783Z TRACE kestrel_protocol::timer::task::global: Batch cancelled timers using wheel batch API batch_size=500 cancelled_count=500 wheel_cancelled_count=500 [INFO] [stdout] 2026-01-16T03:01:58.313065Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=163 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.313213Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=163 entry_id=163 connection_id=162 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.298890Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=366 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.263668Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.313298Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=366 entry_id=366 connection_id=365 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.313401Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=367 slot_index=32 delay_ms=200 [INFO] [stdout] 2026-01-16T03:01:58.313426Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=367 entry_id=367 connection_id=366 delay_ms=200 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.313461Z DEBUG kestrel_protocol::timer::wheel::core: Advancing timing wheel elapsed_ms=88 slots_to_advance=8 max_advance=8 current_slot=12 [INFO] [stdout] 2026-01-16T03:01:58.313500Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=1 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313517Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=2 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313532Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=3 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313545Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=4 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313560Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=5 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313574Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=6 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313587Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=7 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313601Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=8 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313614Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=9 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313628Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=10 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313642Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=11 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313335Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 6, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.313656Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=12 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313669Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=13 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313668Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=6 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.313683Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=14 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313694Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=6 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.313697Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=15 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313711Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=16 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313725Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=17 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313739Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=18 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313737Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 249, timestamp: 496, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x06" } [INFO] [stdout] 2026-01-16T03:01:58.313753Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=19 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313767Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=20 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313781Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=21 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313794Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=22 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313807Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=23 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313820Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=24 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313854Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=25 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313867Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=26 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313880Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=27 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313893Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=28 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313906Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=29 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313920Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=30 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313933Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=31 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313947Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=32 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313961Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=33 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313975Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=34 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313990Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=35 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314002Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=36 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314014Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=37 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314028Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=38 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314042Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=39 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314055Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=40 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314069Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=41 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314082Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=42 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.313785Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.314095Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=43 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314110Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=44 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314123Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=45 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314137Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=46 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314150Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=47 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314164Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=48 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314177Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=49 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314190Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=50 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314204Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=51 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314218Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=52 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314233Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=53 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314246Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=54 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314260Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=55 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314284Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=56 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314298Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=57 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314313Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=58 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314326Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=59 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314340Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=60 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314354Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=61 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314370Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=62 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314384Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=63 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314110Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 1200, recv_window_size: 256, timestamp: 0, sequence_number: 7, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.314399Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=64 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314417Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=65 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314418Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=7 payload_len=1200 state=Established [INFO] [stdout] 2026-01-16T03:01:58.314432Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=66 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314440Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=7 payload_len=1200 [INFO] [stdout] 2026-01-16T03:01:58.314445Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=67 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314459Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=68 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314473Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=69 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314469Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 248, timestamp: 496, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x07" } [INFO] [stdout] 2026-01-16T03:01:58.314486Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=70 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314500Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=71 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314514Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=72 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314529Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=73 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314543Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=74 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314557Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=75 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314571Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=76 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314586Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=77 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314600Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=78 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314615Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=79 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314630Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=80 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314644Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=81 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314658Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=82 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314672Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=83 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314522Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=109 frame=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.314686Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=84 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314700Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=85 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314715Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=86 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314729Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=87 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314744Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=88 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314757Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=89 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314772Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=90 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314786Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=91 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314800Z TRACE kestrel_protocol::timer::wheel::core: Timer expired entry_id=92 expiry_time=Instant { tv_sec: 17987, tv_nsec: 844213024 } [INFO] [stdout] 2026-01-16T03:01:58.314899Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=164 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.314928Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=164 entry_id=164 connection_id=163 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.315003Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=165 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.315030Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=165 entry_id=165 connection_id=164 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.315102Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=166 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.315129Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=166 entry_id=166 connection_id=165 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.315204Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=167 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.315231Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=167 entry_id=167 connection_id=166 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.315307Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=168 slot_index=378 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.315333Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=168 entry_id=168 connection_id=167 delay_ms=60000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.317258Z TRACE kestrel_protocol::timer::wheel::core: Batch added timers to timing wheel batch_size=1000 [INFO] [stdout] 2026-01-16T03:01:58.314698Z TRACE kestrel_protocol::core::endpoint::processing::processors: Routing frame to processor (static dispatch with type validation) processor_name="PushProcessor" frame_type=Push { header: ShortHeader { command: Push, connection_id: 109, payload_length: 640, recv_window_size: 256, timestamp: 0, sequence_number: 8, recv_next_sequence: 1 }, payload: b"\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" } [INFO] [stdout] 2026-01-16T03:01:58.317903Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Processing PUSH frame cid=109 seq=8 payload_len=640 state=Established [INFO] [stdout] 2026-01-16T03:01:58.317931Z TRACE kestrel_protocol::core::endpoint::processing::processors::data: Handling PUSH in Established state cid=109 seq=8 payload_len=640 [INFO] [stdout] 2026-01-16T03:01:58.317968Z DEBUG kestrel_protocol::core::endpoint::core::sender: Sending frames to remote address cid=109 remote_addr=127.0.0.1:9008 frame_count=1 first_frame=Ack { header: ShortHeader { command: Ack, connection_id: 9, payload_length: 8, recv_window_size: 247, timestamp: 500, sequence_number: 0, recv_next_sequence: 0 }, payload: b"\0\0\0\0\0\0\0\x08" } [INFO] [stdout] 2026-01-16T03:01:58.318011Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=109 [INFO] [stdout] 2026-01-16T03:01:58.299376Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=100 slot_index=368 delay_ms=60000 [INFO] [stdout] 2026-01-16T03:01:58.323903Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Reassembled data, sending to stream. cid=109 count=9 [INFO] [stdout] 2026-01-16T03:01:58.323981Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=109 state=Established [INFO] [stdout] 2026-01-16T03:01:58.299433Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=137 [INFO] [stdout] 2026-01-16T03:01:58.277423Z TRACE kestrel_protocol::core::endpoint::processing::dispatcher: Processing incoming frame local_cid=104 frame=Push { header: ShortHeader { command: Push, connection_id: 104, payload_length: 1200, recv_window_size: 256, timestamp: 2, sequence_number: 0, recv_next_sequence: 1 }, payload: b"\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" } [INFO] [stdout] 2026-01-16T03:01:58.324174Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=31 [INFO] [stdout] 2026-01-16T03:01:58.324207Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=31 state=Established [INFO] [stdout] 2026-01-16T03:01:58.324255Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Event handled, performing follow-up actions. cid=29 [INFO] [stdout] 2026-01-16T03:01:58.324282Z TRACE kestrel_protocol::core::endpoint::core::event_loop: Main loop waiting for event. cid=29 state=Established [INFO] [stdout] 2026-01-16T03:01:58.301892Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=332 slot_index=199 delay_ms=391000 [INFO] [stdout] 2026-01-16T03:01:58.324396Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=332 entry_id=332 connection_id=331 delay_ms=391000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.324571Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=333 slot_index=299 delay_ms=392000 [INFO] [stdout] 2026-01-16T03:01:58.324614Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=333 entry_id=333 connection_id=332 delay_ms=392000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.324706Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=334 slot_index=399 delay_ms=393000 [INFO] [stdout] 2026-01-16T03:01:58.324745Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=334 entry_id=334 connection_id=333 delay_ms=393000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.324849Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=335 slot_index=499 delay_ms=394000 [INFO] [stdout] 2026-01-16T03:01:58.324891Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=335 entry_id=335 connection_id=334 delay_ms=394000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.324979Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=336 slot_index=87 delay_ms=395000 [INFO] [stdout] 2026-01-16T03:01:58.325017Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=336 entry_id=336 connection_id=335 delay_ms=395000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325103Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=337 slot_index=187 delay_ms=396000 [INFO] [stdout] 2026-01-16T03:01:58.325138Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=337 entry_id=337 connection_id=336 delay_ms=396000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325226Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=338 slot_index=287 delay_ms=397000 [INFO] [stdout] 2026-01-16T03:01:58.325264Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=338 entry_id=338 connection_id=337 delay_ms=397000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325356Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=339 slot_index=387 delay_ms=398000 [INFO] [stdout] 2026-01-16T03:01:58.325395Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=339 entry_id=339 connection_id=338 delay_ms=398000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325478Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=340 slot_index=487 delay_ms=399000 [INFO] [stdout] 2026-01-16T03:01:58.325511Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=340 entry_id=340 connection_id=339 delay_ms=399000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325598Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=341 slot_index=75 delay_ms=400000 [INFO] [stdout] 2026-01-16T03:01:58.325629Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=341 entry_id=341 connection_id=340 delay_ms=400000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325709Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=342 slot_index=175 delay_ms=401000 [INFO] [stdout] 2026-01-16T03:01:58.325747Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=342 entry_id=342 connection_id=341 delay_ms=401000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325842Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=343 slot_index=275 delay_ms=402000 [INFO] [stdout] 2026-01-16T03:01:58.325873Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=343 entry_id=343 connection_id=342 delay_ms=402000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.325952Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=344 slot_index=375 delay_ms=403000 [INFO] [stdout] 2026-01-16T03:01:58.325984Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=344 entry_id=344 connection_id=343 delay_ms=403000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.326065Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=345 slot_index=475 delay_ms=404000 [INFO] [stdout] 2026-01-16T03:01:58.326106Z TRACE kestrel_protocol::timer::task::global: Timer registered successfully event_id=345 entry_id=345 connection_id=344 delay_ms=404000 event_type=IdleTimeout [INFO] [stdout] 2026-01-16T03:01:58.326191Z TRACE kestrel_protocol::timer::wheel::core: Added timer to timing wheel entry_id=346 slot_index=63 delay_ms=405000 [WARN] too many lines in the log, truncating it