pub enum LinkError {
Show 33 variants
InvalidConfig(String),
Dial(String),
Handshake(HandshakeError),
HandshakeTimeout,
Issuer(IssuerError),
Io(String),
FrameTooLarge(usize),
Frame(FrameError),
Record(RecordError),
StatusExpired,
BindingExpired,
Closed,
Goodbye(String),
LivenessLost,
V5DowngradeRefused,
CallTimeout,
Provider {
responded_by: [u8; 32],
code: String,
detail: Option<String>,
},
Relay {
reported_by: [u8; 32],
code: String,
},
RecordNotFound,
UnexpectedReply(String),
InvalidOffer,
NoOrg,
AlreadyServed,
KemAdvertiseDisabled,
Stopped,
Stream {
code: String,
message: String,
relay: bool,
},
EndOfStream,
StreamClosed,
StreamOpenTooLarge(usize),
Confidentiality(ConfidentialityError),
SealedRefused {
named: Option<[u8; 8]>,
},
ClearAnswerToSealed,
SealedFramesExhausted,
}Expand description
Why a link or one of its operations failed.
Variants§
InvalidConfig(String)
The configuration cannot be dialed: a key of another profile than the target’s, or admission limits macula would not start with.
Dial(String)
The dial failed.
Handshake(HandshakeError)
The handshake refused, or was refused.
HandshakeTimeout
The handshake did not finish within HANDSHAKE_TIMEOUT.
Issuer(IssuerError)
The issuer had no CONNECT material in force.
Io(String)
The QUIC connection or a stream failed.
FrameTooLarge(usize)
A frame longer than the cap in force.
Frame(FrameError)
A frame that could not be built, or one received that does not verify.
Record(RecordError)
A record that could not be built, or one found that does not verify.
StatusExpired
The station’s status statement lapsed past the grace.
BindingExpired
The station’s TLS binding reached its not_after.
Closed
The link was closed by its owner.
Goodbye(String)
The station ended the link with a GOODBYE, for this reason.
LivenessLost
The station missed two liveness probes in a row.
V5DowngradeRefused
A station this process completed handshake v5 with that now answers
v4, or a v4 link to it that a v5 completion ended: refused, not
retried, until forget_v5_peer.
CallTimeout
No verified reply answered the call within its timeout.
Provider
A provider’s ERROR for the call.
Relay
A relay error the connected station reported for the call.
RecordNotFound
A find_record the station answered not_found.
UnexpectedReply(String)
A station reply to a DHT call in a shape that call never answers with.
InvalidOffer
An offer without exactly one handler, or an org procedure’s without the realm key.
NoOrg
A procedure without a namespace, which nobody can authorize.
AlreadyServed
A procedure already served on this link.
KemAdvertiseDisabled
A required-confidential procedure on a link whose kem_advertise is
off: it would name no key and refuse every clear call.
Stopped
A served procedure withdrawn by its owner.
Stream
A stream ended by a STREAM_ERROR: the peer’s, the station’s relay
error (relay), or this side’s own abort.
EndOfStream
A stream that ended normally.
StreamClosed
A send on a stream this side has ended.
StreamOpenTooLarge(usize)
A STREAM_OPEN over the 1 MiB a peer reads of one.
Confidentiality(ConfidentialityError)
A call or an open that could not be kept confidential, so it was not made, or failed rather than be taken in the clear.
SealedRefused
The provider’s sealed_refused: it could not open the request. named
is the key it holds now, None when it holds none.
ClearAnswerToSealed
A clear answer to a sealed request that nothing clear may give: not a relay error, not a refusal from the closed set, not sealed_refused. Refused, never taken as the answer.
SealedFramesExhausted
A provider’s sealed stream that has sealed all the frames GCM’s bound allows under random nonces: another would pass it.
Trait Implementations§
impl Eq for LinkError
Source§impl Error for LinkError
impl Error for LinkError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()