diff options
| author | eunhhu <[email protected]> | 2026-09-28 20:12:38 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-28 20:12:38 +0100 |
| commit | fd95d3087733f025d5d796e6696c7698aa5d65d2 (patch) | |
| tree | e4d34b3c8e5371c10c2545e91ed6ef8f7e4d3c6b /core/flow.h | |
| parent | ee7f97001b0e193a766a0f889ae16f9d5af40fea (diff) | |
| download | pure-fd95d3087733f025d5d796e6696c7698aa5d65d2.tar.gz pure-fd95d3087733f025d5d796e6696c7698aa5d65d2.zip | |
Send small records in a RECORDS frame: 1 or 2 bytes of framing each, not 19
A RECORD frame carries a number, a size, an offset and a length before
each record's bytes, 19 bytes: a packet held 13.7 records of 61 bytes. A
RECORDS frame (0x06) carries the first record's number and a count, then
whole records whose numbers follow on, each its size as a varint and its
bytes: 17.2 a packet. A piece of a record larger than a piece still goes
in a RECORD frame; a receiver takes both.
The transport alone (research/experiments/019-idle-links/transport.c)
drains 200,000 records of 61 bytes in 11,600 packets instead of 14,600;
per record the link takes 0.217 us and the listener 0.23, 0.447 us in all,
against quinn's 0.43 a message over one stream.
Diffstat (limited to 'core/flow.h')
0 files changed, 0 insertions, 0 deletions
