Skip to content

Conversation

@kazuho
Copy link
Member

@kazuho kazuho commented Dec 5, 2021

This PR adds two fields to quicly_context_t as well as command line options for controlling them in cli.

  • fragment_payload - cause fragmentation of stream data being sent
  • destroy_packet - ratio at which packets being sent should be destroyed (so that they would be rejected by the receiver)

These options can be together used as a way of testing retransmission behavior regardless of type of the payload (assuming that the message being transmitted is longer than one byte).

Note: for reproducible behavior, use of x25519 as key exchange is recommended (-x x25519), because the encoded size of secp256r1 public key can change by one byte.

Builds on top of #497.

@kazuho kazuho changed the base branch from master to kazuho/never-trim-stream-frames December 5, 2021 06:42
@kazuho kazuho changed the title add options for testing retransmission behavior [DO NOT MERGE YET] add options for testing retransmission behavior Dec 5, 2021
@kazuho kazuho requested a review from hfujita December 5, 2021 06:43
Copy link
Member Author

@kazuho kazuho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, I'm confident with fragment_payload, but am uncertain if we need to have destroy_packet inside lib/quicly.c.

The latter can instead be implemented inside the code that uses quicly (e.g., quicly/cli, h2o), by discarding datagrams probablistically.

@kazuho kazuho changed the base branch from kazuho/never-trim-stream-frames to master December 16, 2021 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants