Loading src/socket.h +7 −1 Original line number Diff line number Diff line Loading @@ -1107,7 +1107,13 @@ namespace netplus { uint64_t _handshake_pn_recv = 0; uint64_t _app_pn_send = 0; uint64_t _app_pn_recv = 0; uint32_t _app_unacked_count = 0; // Delayed ACK counter // ACK cadence is batch-driven, not a per-packet counter/timer: one // ACK is sent after each recvmmsg batch is fully processed (see // _app_ack_pending below and pumpIncoming()'s comment on the // measured ~30x reduction in ACK-only sendto() calls this gives // vs. acking every packet). RFC 9000 §13.2.1's "at least every // second ack-eliciting packet" guidance is satisfied structurally // by that batch boundary rather than by counting. bool _app_ack_pending = false; // Deferred ACK flag // Latest ECN counts reported by the peer via an ACK_ECN frame (RFC Loading Loading
src/socket.h +7 −1 Original line number Diff line number Diff line Loading @@ -1107,7 +1107,13 @@ namespace netplus { uint64_t _handshake_pn_recv = 0; uint64_t _app_pn_send = 0; uint64_t _app_pn_recv = 0; uint32_t _app_unacked_count = 0; // Delayed ACK counter // ACK cadence is batch-driven, not a per-packet counter/timer: one // ACK is sent after each recvmmsg batch is fully processed (see // _app_ack_pending below and pumpIncoming()'s comment on the // measured ~30x reduction in ACK-only sendto() calls this gives // vs. acking every packet). RFC 9000 §13.2.1's "at least every // second ack-eliciting packet" guidance is satisfied structurally // by that batch boundary rather than by counting. bool _app_ack_pending = false; // Deferred ACK flag // Latest ECN counts reported by the peer via an ACK_ECN frame (RFC Loading