feat: make Connection::remote_id
and Connection::alpn
infallible
#3556
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Attempts to make
Connection::remote_id
andConnection::alpn
infallible, by:Connection
inIncoming
andConnecting
to ensure a remote_id and alpn are present before returning aniroh::endpoint::Connection
ZRTTConnection
that has the same methods as aConnection
, but includes having a fallible remote_id and alpnThe code is not ideal, but it illustrates some of the limitations here.
This creates a bit of a mess when using 0-rrt connections, as you can see in the 0-rtt example and the 0-rtt tests, since a
ZRTTConnection
andConnection
are no longer the same, it becomes very annoying to deal with the result of aConnecting::into_0rtt()
Breaking Changes
Notes & open questions
This whole PR is an open question
Change checklist
quic-rpc
iroh-gossip
iroh-blobs
dumbpipe
sendme