#[non_exhaustive]pub enum P2pTransportError {
Show 22 variants
InvalidLimits,
InvalidPeerIdentity,
PeerAdmission(PeerProtocolError),
InvalidNegotiatedRegistry,
DnsRelayProtocol(DnsRelayProtocolError),
OdohProtocol(OdohProtocolError),
DnsWire(Error),
Adapter(AdapterFailure),
MissingOdohConfiguration,
ExpiredOdohTarget,
ProxyTargetCollision,
PeerIdentityMismatch,
UnexpectedPacket {
expected: PacketType,
actual: PacketType,
},
UnexpectedOdohOpcode(OdohOpcode),
RequestIdMismatch,
RequestIdExhausted,
NegotiatedRequestLimit,
DnsRelayStatus(DnsRelayStatus),
OdohStatus(OdohStatus),
ResponseLimit,
Cancelled,
DeadlineExpired,
}Expand description
Authenticated peer, protocol, DNS, deadline, or resource-bound failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidLimits
A configured bound is zero, excessive, or not a valid bucket.
InvalidPeerIdentity
The compressed Brontide identity is not a secp256k1 public key.
PeerAdmission(PeerProtocolError)
Experimental peer admission or registry negotiation failed.
InvalidNegotiatedRegistry
Negotiated registry fields are internally invalid.
DnsRelayProtocol(DnsRelayProtocolError)
HIP-76 payload encoding or decoding failed.
OdohProtocol(OdohProtocolError)
HIP-77 or RFC 9230 processing failed.
DnsWire(Error)
DNS construction, parsing, or exact correlation failed.
Adapter(AdapterFailure)
Platform adapter failure.
MissingOdohConfiguration
The signed target record has no configuration at the selected index.
ExpiredOdohTarget
The signed target configuration is no longer current.
ProxyTargetCollision
Proxy and target are the same authenticated identity.
PeerIdentityMismatch
Adapter returned another authenticated Brontide peer.
UnexpectedPacket
Semantic response packet differs from the request protocol.
UnexpectedOdohOpcode(OdohOpcode)
ODoH response carried an invalid state-machine opcode.
RequestIdMismatch
Response request ID does not equal the local outstanding ID.
RequestIdExhausted
This requester’s independent ID space was exhausted.
NegotiatedRequestLimit
Encoded request exceeds the peer’s negotiated receive bound.
DnsRelayStatus(DnsRelayStatus)
HIP-76 peer returned a defined error.
OdohStatus(OdohStatus)
HIP-77 proxy/target returned a defined error.
ResponseLimit
Response is empty or exceeds an allocation bound.
Cancelled
Platform lifecycle cancelled the request.
DeadlineExpired
Caller or adapter crossed the exact request deadline.
Implementations§
Source§impl P2pTransportError
impl P2pTransportError
Sourcepub const fn gateway_failure(&self) -> TransportFailure
pub const fn gateway_failure(&self) -> TransportFailure
Fail-closed gateway classification for this transport error.
Sourcepub fn into_gateway_outcome(self) -> AttemptOutcome
pub fn into_gateway_outcome(self) -> AttemptOutcome
Consume into the gateway’s failed adapter result.
Trait Implementations§
Source§impl Debug for P2pTransportError
impl Debug for P2pTransportError
Source§impl Display for P2pTransportError
impl Display for P2pTransportError
Source§impl Error for P2pTransportError
impl Error for P2pTransportError
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()