Commit Graph

4621 Commits

Author SHA1 Message Date
Diva Martínez 0243971237 fix getting frame types 2025-12-20 09:20:38 -05:00
Diva Martínez 19f70d5874 fmt 2025-12-20 09:15:12 -05:00
Diva Martínez a617805983 appease clippy, keep the code 2025-12-20 08:40:35 -05:00
Diva Martínez 3ea1757808 clippy fixes: make ArrangeRangeSet pub(crate) 2025-12-20 08:37:51 -05:00
Diva Martínez a8cda4a50b make all frames encodable 2025-12-19 19:02:46 -05:00
Diva Martínez 9fdfbe1ae0 make Close encodable 2025-12-19 18:53:04 -05:00
Diva Martínez 1db12bb448 remote weird lenght parameter and make Datagram encodable 2025-12-19 18:41:46 -05:00
Diva Martínez 1e2150b696 make path ack encodable 2025-12-19 18:17:31 -05:00
Diva Martínez 8b7b8cc00c make ack encodable 2025-12-19 18:17:31 -05:00
Diva Martínez b4960486b9 impl Encodable for RemoveAddress 2025-12-19 18:16:46 -05:00
Diva Martínez 7e44a4d94d impl Encodable for ReachOut 2025-12-19 18:15:00 -05:00
Diva Martínez df99253819 impl Encodable for AddAddress 2025-12-19 18:12:40 -05:00
Diva Martínez 611c5feab9 split coding 2025-12-19 17:28:25 -05:00
Diva Martínez 8b4e800d47 more parity with revious code 2025-12-19 15:45:36 -05:00
Diva Martínez 4940f47143 clippy 2025-12-19 15:40:06 -05:00
Diva Martínez 983c422d28 reduce LOC 2025-12-19 15:39:10 -05:00
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