Floris Bruynooghe
f96aba243d
fixup comment
2025-02-27 15:38:48 +01:00
Floris Bruynooghe
68205a54e1
obsolete todo
2025-02-27 15:33:41 +01:00
Floris Bruynooghe
ea23a93080
Add cid len check to enable multipath
2025-02-27 15:27:36 +01:00
Floris Bruynooghe
67ccddb860
Use FxHashMap for CID tracking
2025-02-27 12:52:16 +01:00
Floris Bruynooghe
01592b6dda
Keep CIDs per path in the endpoint ( #48 )
...
This makes sure that the sequence numbers of the CIDs are sequential
per path. Which is what it needs to be.
2025-02-27 12:48:29 +01:00
Floris Bruynooghe
2f19f389b8
Keep CIDs per path in the endpoint
...
This makes sure that the sequence numbers of the CIDs are sequential
per path. Which is what it needs to be.
2025-02-27 12:36:34 +01:00
Floris Bruynooghe
1e3b7e8e59
WIP: issue per-path CIDs and keep track of them ( #47 )
2025-02-26 19:08:28 +01:00
Floris Bruynooghe
08ac43f5e9
clippy demands brackets
2025-02-26 18:55:14 +01:00
Floris Bruynooghe
04a7b0e08d
format
2025-02-26 18:49:15 +01:00
Floris Bruynooghe
9ed01454bb
and use the correct pathid in test as well now
2025-02-26 18:47:51 +01:00
Floris Bruynooghe
57800f0def
fixup
2025-02-26 18:45:38 +01:00
Floris Bruynooghe
3b1f89bcf2
do the CID -> PathId mapping in the endpoint
...
It already has this entire index thing for connection IDs. It only
needs to be extended there to add PathId and lots of things just fall
into place!
2025-02-26 18:37:55 +01:00
Floris Bruynooghe
65256dafc0
some more todos
2025-02-25 18:15:30 +01:00
Floris Bruynooghe
5760c603c2
the missing bits
2025-02-25 18:06:15 +01:00
Floris Bruynooghe
882fdf2370
WIP: issue per-path CIDs and keep track of them
2025-02-24 14:07:29 +01:00
Floris Bruynooghe
85b2427614
Start adding CID-PathId mapping ( #46 )
2025-02-20 11:08:25 +01:00
Floris Bruynooghe
32e86ce119
some smaller cleanups
2025-02-19 15:16:05 +01:00
Floris Bruynooghe
4757c7ac63
fix tests
2025-02-18 18:08:20 +01:00
Floris Bruynooghe
1b927a10a8
compiles
2025-02-18 17:04:00 +01:00
Floris Bruynooghe
b30f7eb92b
Start adding CID-PathId mapping
2025-02-18 16:25:26 +01:00
Floris Bruynooghe
a8a25714e5
Add the multipath transport error codes ( #45 )
2025-02-12 12:28:12 +01:00
Floris Bruynooghe
4a05a4a2f0
Kind of do tail-loss probes correctly ( #44 )
...
This is a bit sad because it splits the use in poll_transmit. It will
need more adjustments once poll_transmit starts sending on multiple
paths though.
2025-02-11 17:47:02 +01:00
Floris Bruynooghe
2481c5871e
Add the multipath transport error codes
2025-02-11 17:43:19 +01:00
Floris Bruynooghe
6fd280bf62
Kind of do tail-loss probes correctly
...
This is a bit sad because it splits the use in poll_transmit. It will
need more adjustments once poll_transmit starts sending on multiple
paths though.
2025-02-11 17:30:15 +01:00
Floris Bruynooghe
6ee9d1e0be
Fixup lints so we can have clean CI ( #43 )
2025-02-10 19:36:22 +01:00
Floris Bruynooghe
f943a71211
more licenses
2025-02-10 17:54:09 +01:00
Floris Bruynooghe
9eb4ffed0a
remove legacy numeric import
2025-02-10 17:50:03 +01:00
Floris Bruynooghe
a0d3323741
sources and licenses tweaks
2025-02-10 17:43:44 +01:00
Floris Bruynooghe
a40bc688f5
Clippy lints
2025-02-10 17:43:33 +01:00
Floris Bruynooghe
43877d2913
Different approach: add a PacketNumberSpace ( #41 )
2025-02-10 17:20:29 +01:00
Floris Bruynooghe
ff38a2ace3
add some todos
2025-02-10 16:35:07 +01:00
Floris Bruynooghe
2b5297dbad
rename the iterators too
2025-02-10 14:47:42 +01:00
Floris Bruynooghe
23ae6226a1
Use the PathId stored in the PacketBuilder
2025-02-10 14:38:19 +01:00
Floris Bruynooghe
5739c711c0
Rename to for_path
2025-02-10 14:22:57 +01:00
Floris Bruynooghe
47299fbdd5
Always use the data space here, for... reasons?
2025-02-07 16:18:02 +01:00
Floris Bruynooghe
8e94b6958c
it compiles
2025-02-07 12:58:23 +01:00
Floris Bruynooghe
ab8f0abfd4
stuff
2025-02-05 18:28:32 +01:00
Floris Bruynooghe
618c25c74f
more stuff
2025-02-04 17:14:30 +01:00
Floris Bruynooghe
e5321d1bab
whatever this is
2025-02-04 10:15:19 +01:00
Floris Bruynooghe
989e875342
Most in spaces.rs is done
2025-01-29 18:33:38 +01:00
Floris Bruynooghe
30ca274a2a
Different approach: add a PacketNumberSpace
2025-01-28 18:00:17 +01:00
Divma
c04b6a9fbb
take advantage of the fact that packet protection with and without multipath is equivalent for Path(0) ( #39 )
2025-01-27 11:56:27 -05:00
Floris Bruynooghe
0f1df20413
Address ToDo about packet protection and 0rtt validation ( #38 )
...
This addresses 3 ToDos that don't actually change the code:
1. what path should be used to attempt to remove packet protection when
receiving the first packet?
None. The extension has not been successfully negotiated
2. what path should be used for packet protection of an initial close?
None. Initial close is done before the handshake is completed and the
extension has not been negotiated.
3. 0-rtt multipath validations:
None: Section 7 of rfc9000 states that extensions must declare what
happens with 0-rtt transport parameters and the draft states that
`initial_max_path_id` must not be remembered. This is (to me) equivalent
to silently ignoring any 0-rtt params as what comes from finalizing the
handshake is used
All of this needs some review from someone else
2025-01-27 10:21:59 +01:00
Diva M
b5a4f464cd
progress in addressing some ToDos
2025-01-26 23:52:26 -05:00
Divma
eaaeadabf0
update transport parameter for draft 12 ( #37 )
2025-01-26 22:56:48 -05:00
Divma
af1b428d4e
include path_id in packet protection ( #36 )
2025-01-24 11:29:06 -05:00
Divma
16f341524d
create NewConnectionId with method instead of inlined code ( #35 )
...
* create NewConnectionId with method instead of inlined code
* apply related lint
2025-01-24 11:08:42 -05:00
Divma
37df8d0c24
Associate each ConnectionId to a PathId ( #31 )
2025-01-16 11:19:01 -05:00
Diva M
24d33a7103
add saturating_add for PathId
2025-01-16 10:31:14 -05:00
Floris Bruynooghe
b6b7312907
Add a test that check multipath gets negotiated properly. ( #30 )
2025-01-16 09:36:01 -05:00