pub enum PoolError {
Show 20 variants
NoSeeds,
SeedNotPinned(String),
TooManySeeds {
given: usize,
max: usize,
},
RealmTrustInvalid([u8; 32]),
InvalidOpts(String),
NoLink(Vec<LinkError>),
Closed,
NoRealmKey,
NoProvider(Vec<(Provider, PoolError)>),
NoStationEndpoint(Option<LinkError>),
DirectLinksFull,
StationNotReached {
station: [u8; 32],
cause: Option<LinkError>,
},
NotServed(Vec<LinkError>),
Link(LinkError),
NotShared,
ContentUnavailable(Vec<([u8; 32], PoolError)>),
ContentMismatch(String),
ContentTooLarge(String),
ContentReply(String),
Confidentiality(ConfidentialityError),
}Expand description
Why a pool, or one of its operations, failed.
Variants§
NoSeeds
A pool given no seed station.
SeedNotPinned(String)
A seed without the station’s node_id, as host:port: a pool dials only stations it can check.
TooManySeeds
More seeds than max_seeds.
RealmTrustInvalid([u8; 32])
A realm key that is not a well-formed key of the pool’s profile, and its realm.
InvalidOpts(String)
An option out of its range, or a key that is no identity key.
NoLink(Vec<LinkError>)
No link came up within the connect timeout, or none is up to carry an operation; each link’s last error.
Closed
An operation on a closed pool.
NoRealmKey
A realm the pool pins no key for: nothing in it is served or trusted.
NoProvider(Vec<(Provider, PoolError)>)
No provider the pinned realm key authorizes answered: each candidate tried and why it failed; none when there was no candidate at all.
NoStationEndpoint(Option<LinkError>)
A serving station with no endpoint record it signed itself.
DirectLinksFull
A serving station not yet linked while max_direct_links direct
links are held.
StationNotReached
A station that could not be linked, and the last dial’s error.
NotServed(Vec<LinkError>)
A procedure no link would serve, and each link’s error.
Link(LinkError)
A link’s own failure, or a provider’s or station’s answer.
Content no node announces in the realm, or a sharer that does not hold it.
Content every announcing sharer failed to give: each sharer’s node and why.
ContentMismatch(String)
A block, manifest or whole that does not match the content id it was asked for by, and which.
ContentTooLarge(String)
Content over the fetch’s bounds, and how large.
ContentReply(String)
An answer a sharer never gives, and what it was.
Confidentiality(ConfidentialityError)
A call or an open that could not be kept confidential, so nothing was sent.
Trait Implementations§
impl Eq for PoolError
Source§impl Error for PoolError
impl Error for PoolError
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()