## 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
## 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.
-->
## 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.
## 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.
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.
- 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
## 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.
-->
## 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.
-->
## Description
we need to take into account path challenges for remotes other than
received ones when stopping the challenge lost timer
## Breaking Changes
n/a
## Notes & open questions
n/a