Commit 88464cb7 authored by jan.koester's avatar jan.koester
Browse files

deb



Co-authored-by: default avatarCopilot <copilot@github.com>
parent 5f9cdf29
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
libnetplus (20260504+6) unstable; urgency=medium

  * QUIC: add per-stream recv_frame_count diagnostic — tracks how many
    STREAM frames the server actually processes for each stream.  Logged
    in the FIN-gap diagnostic line and as "[QUIC-DIAG] stream N HEAD
    frame" when offset-0 data arrives.  This distinguishes "data never
    reached processStreamFrame" from "data was processed but lost in
    reassembly".

libnetplus (20260504+5) unstable; urgency=medium

  * QUIC: fix critical data-loss bug in loss-detection retransmit — if
+12 −0
Original line number Diff line number Diff line
@@ -3392,6 +3392,17 @@ void quic::processStreamFrame(const uint8_t* data, size_t len, size_t& offset) {
    if (stream_len > 0) {
        uint64_t end_offset = stream_offset + stream_len;
        
        // Diagnostic: track frame arrival for server-side large streams
        if (_is_server && stream_len > 0) {
            stream.recv_frame_count++;
            if (stream_offset == 0) {
                std::cerr << "[QUIC-DIAG] stream " << stream_id
                          << " HEAD frame: len=" << stream_len
                          << " frame_count=" << stream.recv_frame_count
                          << "\n";
            }
        }
        
        // Grow buffer if needed
        if (end_offset > stream.recv_buffer.size()) {
            stream.recv_buffer.resize(end_offset, 0);
@@ -3492,6 +3503,7 @@ void quic::processStreamFrame(const uint8_t* data, size_t len, size_t& offset) {
                  << " contig=" << stream.recv_contiguous
                  << " ranges=" << range_count
                  << " gap=" << first_gap_start << "-" << first_gap_end
                  << " frames=" << stream.recv_frame_count
                  << "\n";
    }
    
+1 −0
Original line number Diff line number Diff line
@@ -578,6 +578,7 @@ namespace netplus {
			bool recv_complete = false; // all data up to FIN received
			bool send_fin = false;
			bool reset = false;
			uint64_t recv_frame_count = 0; // diagnostic: STREAM frames received
			// Track received byte ranges for gap detection
			std::set<std::pair<uint64_t,uint64_t>> recv_ranges;
		};