Diva M 94e970d4d6 feat: QUIC Address discovery extension (#12)
add frame types

transport parameter encoding and decoding - to my best understanding

fix typo

add some utility functions

add initial observed address frames

add frame encoding and decoding

adjust stats

minimal debugging for received observed addr

simplify setting extension in transport parameter

rework frame structure and send observed addr frames with path challenge ones

tweak example to start testing

fix encoding, send with handshake

clippy

fix docs

reject observed addr frames when not negotiated

replace request_id with seq_no according to new spec

replace code point for transport parameter

replace code point for frames

remove sending observed address frame in handshake in server side

treat as probing frame in payload processing

ack is already managed by is_ack_eliciting

send with path_response as well

add frame to retransmits and ignore old frames

send observed addr at least once per path

fmt

reword comment

remove trailing whites

keep observed address reports per path

remove addressed TODO

small improvement in readability

add retransmission with fresh info

retransmit just once

fix should send logic

add observed addr event

surface the info

restore trace level of frames

some extra logs

rename roles and var

improve error msg

assuming the default as disabled is ok, remove comment

use safe arithmetic with varints for the seq_no

move transport param code to method instead of From impl

fix example, finally

remove excesive log

add helper fn

carry old report into new path

generate notification only on changed values

downgrade log

add sending test

add resumption test on the acceptance case

add resumption test on the rejection case

spelling

actual spelling and undo debug change

dumb lints

some spelling and formatting

add retransmission test

make a bit more readable

update hexas

make naming consistent, add test

check docs for consistency
2024-11-04 11:07:38 -05:00
2024-06-21 13:00:40 +02:00
2024-08-19 21:41:06 +00:00
2020-01-27 10:21:10 -08:00
2024-08-02 21:56:55 +00:00
2018-04-28 22:07:13 -07:00
2024-08-07 09:42:47 +02:00

Quinn fork of iroh

Quinn is a pure-rust, async-compatible implementation of the IETF [QUIC][quic] transport protocol.

This is a fork incorporating some changes for use in iroh. The aim is to contribute back any generally useful changes into upstream Quinn, so it is strongly discouraged to use this fork directly.

Git branches

The upstream branches are kept unmodified and get occasionally synced. The iroh-specific branches are:

The default branch should be set the currently actively used branch by iroh.

Updating a branch

To update a branch to include the upstream changes, merge the upstream branch. E.g. when upstream is main and the current iroh branch is iroh-0.11.x:

  • Check which commits are new in main.

    Using magit: magit-cherry (Y), from main to iroh-0.11.x

  • Find the commit to merge.

    You probably want to find the last released commit on the main branch, which might not be the last commit on main. So you need to find the commit hash as you can't use "main" in this case.

  • Merge this commit: git merge abc123

  • You can check the log and cherries again to see if the right commits are left in main.

S
Description
noq, a QUIC implementation in Rust
Readme 106 MiB
Languages
Rust 99.3%
Python 0.5%
Shell 0.2%