Floris Bruynooghe
5ca6498ffe
clippy
2025-06-27 13:07:22 +02:00
Floris Bruynooghe
a25872eab8
Tidy up frame stats for issued/retired CIDs
2025-06-27 12:54:52 +02:00
Divma
d801c3e400
Fix bugs in the process of opening a new path ( #100 )
2025-06-26 15:32:45 -05:00
Divma
0cecb412be
improve reporting of frames on open path errors ( #99 )
2025-06-26 10:34:40 -05:00
Floris Bruynooghe
1fdfb930ce
Assert we get PATH_ACK stats ( #98 )
2025-06-25 11:35:40 +02:00
Floris Bruynooghe
cc9ae7a12b
Assert we get PATH_ACK stats
2025-06-25 10:51:55 +02:00
Floris Bruynooghe
6b4bd5eaa6
Refuse to close a path if it is the last path available. ( #97 )
2025-06-25 10:46:56 +02:00
Floris Bruynooghe
f06e8c5a48
clippy
2025-06-25 10:42:58 +02:00
Floris Bruynooghe
aa795366a3
Refuse to close a path if it is the last path available.
2025-06-25 10:23:34 +02:00
Floris Bruynooghe
b5b69bfdbf
Per-path idle timeout and keepalive ( #96 )
...
- [x] Basic idle timeout scaffolding.
- [x] Handle `PathIdle` timer expiry.
- [x] Basic keep alive scaffolding.
- [x] Handle `PathKeepAlive` timer expiry.
- [x] quinn-proto API for setting path idle and keepalive.
- [x] quinn API for setting path idle and keepalive.
- [x] Allow setting path idle & keepalive defaults in `TransportConfig`.
The following might perhaps better flow over to another PR
- [ ] Abandon the path correctly.
- [ ] Close the connection if there is no remaining path.
2025-06-23 13:47:02 +02:00
Floris Bruynooghe
df38dfa022
more docs fixes
2025-06-18 18:10:27 +02:00
Floris Bruynooghe
21b51d52d9
use correct location for docs
2025-06-18 18:02:15 +02:00
Floris Bruynooghe
43f6d41955
fix some docs
2025-06-18 17:59:20 +02:00
Floris Bruynooghe
ec8a488120
Add quinn api for this
2025-06-18 17:56:06 +02:00
Floris Bruynooghe
b2030a5d4e
Allow configuring the per-path idle-timeout and keep-alive
2025-06-18 17:50:32 +02:00
Floris Bruynooghe
978eb340b5
Do keep alives
2025-06-18 17:07:04 +02:00
Floris Bruynooghe
8be492ee9f
Handle PathIdle timer expiry
2025-06-18 13:02:23 +02:00
Floris Bruynooghe
f4db04c6a8
Scaffolding for per-path idle timer
2025-06-17 15:27:54 +02:00
Floris Bruynooghe
a6cea3ac32
Do PTO calculations correct ( #95 )
...
- PTO is computed for the right path
- crypto keys update uses 3 * max PTO of all paths
- draining state uses 3 * max PTO of all paths
2025-06-16 18:46:42 +02:00
Floris Bruynooghe
8a6d69546e
Add frame stats to for path status frames ( #94 )
2025-06-16 18:36:36 +02:00
Floris Bruynooghe
07cc577fad
Do PTO calculations correct
...
- PTO is computed for the right path
- crypto keys update uses 3 * max PTO of all paths
- draining state uses 3 * max PTO of all paths
2025-06-16 18:34:37 +02:00
Floris Bruynooghe
f7682ba270
Add frame stats to for path status frames
2025-06-13 18:35:34 +02:00
Floris Bruynooghe
afb6bd2be1
send and receive PATH_AVAILABLE/PATH_BACKUP ( #92 )
...
This always accepts the status set by the peer, the draft says it is
only a suggestion.
2025-06-13 18:14:21 +02:00
Floris Bruynooghe
8aca2447f9
clippy
2025-06-13 16:48:29 +02:00
Floris Bruynooghe
0a16cd1af1
Fix remote path status state
2025-06-13 16:46:19 +02:00
Floris Bruynooghe
a5246db56f
Keep track of remote state separately
2025-06-13 16:46:18 +02:00
Floris Bruynooghe
2499a2fff6
Improve logging a little bit
2025-06-13 16:46:17 +02:00
Floris Bruynooghe
8984c4d366
Fix can_send for path status frames
2025-06-13 16:46:16 +02:00
Floris Bruynooghe
9b8d7a79f0
test setting it back
2025-06-13 16:46:15 +02:00
Floris Bruynooghe
8c102970e0
Split the frame type
2025-06-13 16:46:14 +02:00
Floris Bruynooghe
9c6e27d843
Start sending path_available/path_backup
2025-06-13 16:46:11 +02:00
Floris Bruynooghe
cee5b2046b
Start sending path abandon ( #90 )
...
This changes the open_path function to no longer return the PATH_ABANDON
frame, but instead put it on the pending data. And adds functionality to
send it in poll_transmit.
2025-06-13 16:43:13 +02:00
Floris Bruynooghe
e93b039ebc
Start sending path abandon
...
This changes the open_path function to no longer return the
PATH_ABANDON frame, but instead put it on the pending data. And adds
functionality to send it in poll_transmit.
2025-06-13 16:34:18 +02:00
Floris Bruynooghe
52432e2a3b
PATH_ACK frames are not ack-eliciting ( #93 )
2025-06-13 15:18:55 +02:00
Floris Bruynooghe
c151810c5d
PATH_ACK frames are not ack-eliciting
2025-06-13 14:07:48 +02:00
Divma
7e227bfb09
rename frame's write and read methods to the more used encode and decode ( #91 )
2025-06-12 11:31:49 -05:00
Floris Bruynooghe
07f848e2ba
Move last-received packet number to the per-path data ( #88 )
...
Somehow that managed to escape so far.
Also, look at me embracing unwrap!
2025-06-12 11:50:49 +02:00
Divma
1467f47fcc
add a paths to open queue and start creating some errors ( #89 )
...
* add a paths to open queue and start creating some errors
* wip
* improve error cases when queueing a path open
* queue two frames for opening a path or failing to do so
* queue open path
* fix future polling
* ugly return types are declared ugly
* fix doc link
2025-06-11 13:45:10 -05:00
Floris Bruynooghe
39251050b9
Move last-received packet number to the per-path data
...
Somehow that managed to escape so far.
Also, look at me embracing unwrap!
2025-06-11 16:04:41 +02:00
Floris Bruynooghe
aa16392a53
Flub/acks again ( #87 )
2025-06-11 15:03:34 +02:00
Floris Bruynooghe
f0f2bb5081
clippy
2025-06-11 14:30:59 +02:00
Floris Bruynooghe
25cf0af9a0
Remove my logging
2025-06-11 14:16:31 +02:00
Floris Bruynooghe
52008d8e39
make it work, with collect(), yolo
2025-06-11 14:12:20 +02:00
Floris Bruynooghe
b03a66151d
this is done by the caller now
2025-06-10 21:35:19 +02:00
Floris Bruynooghe
59b532e28c
wip
2025-06-10 19:30:24 +02:00
Floris Bruynooghe
768363095e
Ensure that a non-zero len CID is used with multipath ( #86 )
...
With a test! Check me out!
2025-06-06 10:53:49 +02:00
Floris Bruynooghe
6e24f40d27
Ensure that a non-zero len CID is used with multipath
2025-06-05 18:17:32 +02:00
Floris Bruynooghe
c3ccd889a3
Improve the cid_issued test ( #84 )
2025-06-03 14:05:06 +02:00
Floris Bruynooghe
3dab78dc7d
Improve the cid_issued test
2025-06-03 13:47:50 +02:00
Floris Bruynooghe
f94689025b
This adds a frame stat for PATH_NEW_CONNECTION_ID ( #83 )
...
As part of this a few minor fixes, in recording and logging the
PATH_NEW_CONNECTION_ID frames.
Also a few fixes for logging frames that were mistakenly not logged.
2025-06-03 09:48:45 +02:00