Skip to content

Wasteful datagram use by the server in the handshake #66

@flub

Description

@flub

During the handshake the first time the server sends something to the client you can see these packets and datagrams being built:

TRACE server:send{space=Initial pn=0}: iroh_quinn_proto::connection: ACK ArrayRangeSet([0..1]), Delay = 0us
TRACE server:send{space=Initial pn=0}: iroh_quinn_proto::connection: CRYPTO: off 0 len 90
TRACE server:send{space=Handshake pn=0}: iroh_quinn_proto::connection: CRYPTO: off 0 len 663
TRACE server:send{space=Handshake pn=0}: iroh_quinn_proto::connection::packet_builder: PADDING * 346
TRACE server: iroh_quinn_proto::connection: sending 1200 bytes in 1 datagrams
TRACE server:send{space=Data pn=0}: iroh_quinn_proto::connection: OBSERVED_ADDRESS observed=ObservedAddr { seq_no: 0, ip: ::1, port: 44433 }
TRACE server:send{space=Data pn=0}: iroh_quinn_proto::connection: NEW_CONNECTION_ID sequence=1 id=7e34985d9f8a4da4
TRACE server:send{space=Data pn=0}: iroh_quinn_proto::connection: NEW_CONNECTION_ID sequence=2 id=5a7523300fbf135d
TRACE server:send{space=Data pn=0}: iroh_quinn_proto::connection: NEW_CONNECTION_ID sequence=3 id=2601e2cd09fdaff3
TRACE server:send{space=Data pn=0}: iroh_quinn_proto::connection: NEW_CONNECTION_ID sequence=4 id=df715cd69fa099b8
TRACE server: iroh_quinn_proto::connection: sending 161 bytes in 1 datagrams

You can see that the first datagram is padded with 346 bytes and sent. But then immediately a 2nd datagram is built containing only 161 bytes for packet 0 in the data space. Packet 0 from the data space should have been coalesced into the first datagram since the handshake packet has a long header.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions