Commit Graph

4605 Commits

Author SHA1 Message Date
Diva Martínez e7fb588de5 document MaybeFrame 2025-12-19 14:02:45 -05:00
Diva Martínez 9e26fd0ea8 remove dbg! 2025-12-19 13:15:09 -05:00
Diva Martínez c2ea709e49 read Padding 2025-12-19 13:14:18 -05:00
Diva Martínez dfcc007386 fix reading u64 plain 2025-12-19 13:03:08 -05:00
Diva Martínez 40c80d8b4b solve all compile errors and warns 2025-12-19 12:52:11 -05:00
Diva Martínez 2f13b430c1 wip 2025-12-19 11:26:54 -05:00
Diva Martínez 4840325907 Merge remote-tracking branch 'n0/main' into encoder-helper 2025-12-19 10:02:03 -05:00
Diva Martínez 96f64a9ba3 wip 2025-12-19 10:01:54 -05:00
Friedel Ziegelmayer 200a68a0d9 feat(quinn): expose per path ping method (#290) 2025-12-19 14:53:29 +00:00
dignifiedquire 6861f4f0b2 feat(quinn): expose per path ping method 2025-12-19 15:12:58 +01:00
Floris Bruynooghe d840435447 fix(docs): Fix a number of doc links (#285)
## Description

These are broken doc links.

## Breaking Changes

n/a

## Notes & open questions

I don't know what to do with CidQueue::next_reserved. I assume this
will be cleaned up sometime soon.
2025-12-19 13:02:50 +00:00
Friedel Ziegelmayer e8953c6f28 fix(proto): actually use per path default configs (#286) 2025-12-19 12:57:48 +00:00
dignifiedquire 6dbfb684e5 fix(proto): actually use per path default configs 2025-12-19 13:48:08 +01:00
Floris Bruynooghe 3da4850661 fix(docs): Fix a number of doc links
I don't know what to do with CidQueue::next_reserved. I assume this
will be cleaned up sometime soon.
2025-12-19 12:56:42 +01:00
Floris Bruynooghe 9a29a461e8 Log connection states explicitly (#284)
## Description

Improves the debugging experience.

## Breaking Changes

n/a

## Notes & open questions

n/a
2025-12-19 11:22:17 +00:00
Floris Bruynooghe c287b891b3 log some fields for close state 2025-12-19 12:18:36 +01:00
Friedel Ziegelmayer d3cdbd425b refactor!: use NonZeroUsize for segment sizes (#251)
## Description

Start introducing more type safety for implicit assumptions, step by
step

## Breaking Changes

This breaks a couple of places, so going to wait a bit for merging this
2025-12-19 10:58:10 +00:00
dignifiedquire ceab1a9f20 fixup 2025-12-19 11:53:42 +01:00
dignifiedquire c0333c545d CR 2025-12-19 11:53:42 +01:00
dignifiedquire fa72f4e64c fixups 2025-12-19 11:53:42 +01:00
dignifiedquire 40fffcb74b refactor!: use NonZeroUsize for segments sizes
Start introducing more type safety for implicit assumptions, step by step
2025-12-19 11:53:40 +01:00
Floris Bruynooghe c84198f54d cargo make format 2025-12-19 10:13:35 +01:00
Floris Bruynooghe 8b6f76cc0e Log connection states explicitly 2025-12-19 09:51:11 +01:00
Diva Martínez f9150cf3cd wip 2025-12-18 23:32:35 -05:00
Diva Martínez ee6de91ded document the macro 2025-12-18 22:06:09 -05:00
Diva Martínez 4850da7a50 finish horrible macro 2025-12-18 21:59:12 -05:00
Diva Martínez cee0f94746 fuck macro rules 2025-12-18 21:50:55 -05:00
Diva Martínez c8f55101b5 feat(quinn-proto): Retry client sent probes when the failures might be spurious (#271)
## Description

<!-- A summary of what this pull request achieves and a rough list of
changes. -->

## Breaking Changes

<!-- Optional, if there are any breaking changes document them,
including how to migrate older code. -->

## Notes & open questions

<!-- Any notes, remarks or open questions you have to make about the PR.
-->
2025-12-18 17:14:37 +00:00
Diva Martínez a27b408d3a Merge branch 'main' into hole-punch-try-harder 2025-12-18 11:22:28 -05:00
Diva Martínez da63d58ae3 keep now as first arg 2025-12-18 10:44:55 -05:00
Philipp Krüger 9d73ec4a94 fix(proto): Send the close frame on the available path (#274)
## Description

Without this change, it's possible that we send the close frame on a
broken path only, if the broken path happens to have a path ID lower
than the available path.

## Notes & open questions

Setting `path_should_send` to true if `can_send.close` would make sense,
if we sent a close on every path, but we don't, we stop sending after
we've sent the close on one path.

I think it's possible to fix this in either direction, but IMO we should
send the close on the path we usually use for application data in
general.
2025-12-18 15:42:18 +00:00
Diva Martínez 9df126caf7 Merge branch 'main' into hole-punch-try-harder 2025-12-18 10:42:12 -05:00
Diva Martínez 0b93d82c74 address review 2025-12-18 10:42:15 -05:00
Floris Bruynooghe cd4ce43df1 Improve logging of path challenge and response frames (#281)
## Description

The display impl was not being triggered where it was, so the frames
could once again not be grepped on their frame types PATH_CHALLENGE
and PATH_RESPONSE. Which is a critical workflow for me.

Fixing their display so they show up sensibly when being written meant
that the challenge itself was now being logged differently on the send
and receive side again: hex on the send size, decimal on the receive
side. So I fixed this by starting to log frames as their proper frame
types on the receive side too.

However I'm not backfilling all the frames yet with these impls. Will
probably add them later as we improve logging.

## Breaking Changes

n/a

## Notes & open questions

We eventually need to end up with a way of consistently logging frames
both when writing and reading. But let's get there in small steps,
because doing it all at once is a bit of a pain.
2025-12-18 13:12:49 +00:00
Floris Bruynooghe 6902f3efbe clippy 2025-12-18 12:53:58 +01:00
Floris Bruynooghe 44e445343e Improve logging of path challenge and response frames
The display impl was not being triggered where it was, so the frames
could once again not be grepped on their frame types PATH_CHALLENGE
and PATH_RESPONSE. Which is a critical workflow for me.

Fixing their display so they show up sensibly when being written meant
that the challenge itself was now being logged differently on the send
and receive side again: hex on the send size, decimal on the receive
side. So I fixed this by starting to log frames as their proper frame
types on the receive side too.

However I'm not backfilling all the frames yet with these impls. Will
probably add them later as we improve logging.
2025-12-18 12:43:44 +01:00
Diva Martínez 9fac9dd3ce clippy 2025-12-17 12:07:32 -05:00
Diva Martínez 6ce31b7bba retry on max path id 2025-12-17 12:05:53 -05:00
Diva Martínez 48a14ad1ca retry pending nat probes on new cids 2025-12-17 11:51:44 -05:00
Diva Martínez 697192c0ed Merge remote-tracking branch 'n0/main' into hole-punch-try-harder 2025-12-17 10:05:15 -05:00
Philipp Krüger cfd7bbebeb fix(proto): Send the close frame on the available path 2025-12-17 11:03:53 +01:00
Friedel Ziegelmayer 4dcb3a7f05 feat(proto): improve PTO calculations on shutdown (#269)
- PTO calculations now ignore paths that have not received, or sent
anything when calculating for shutdown
- we stop sending path challenges when we are already closing, to reduce
the chance of inflight packets that are not needed
2025-12-17 09:23:15 +00:00
dignifiedquire d320c63c06 cleanup 2025-12-17 10:07:04 +01:00
dignifiedquire 0cfc00d393 feat(proto): improve PTO calculations on shutdown 2025-12-17 10:07:04 +01:00
Asmir Avdicevic 9947dfa162 fix(ci): windows test build fix (#273)
## Description

Align the windows CI tests with the rest of the build env so we avoid
sproadic config issues against fips.

## Breaking Changes

<!-- Optional, if there are any breaking changes document them,
including how to migrate older code. -->

## Notes & open questions

<!-- Any notes, remarks or open questions you have to make about the PR.
-->
2025-12-17 08:56:09 +00:00
Asmir Avdicevic c4fb84b8c4 fix(ci): windows test build fix 2025-12-17 08:46:28 +01:00
Diva Martínez 25def0a194 mark failed addresses for retry 2025-12-16 17:01:04 -05:00
Diva Martínez 56294fe707 fix(quinn-proto): set the hole punching round 2025-12-16 22:48:22 +01:00
Diva Martínez fb807023d4 Merge branch 'main' into hole-punch-try-harder 2025-12-16 16:27:07 -05:00
Diva Martínez e33186d01f create state to keep track to retries for client sent probes 2025-12-16 16:05:00 -05:00