pub enum SpawnError {
Show 16 variants
Config(ConfigError),
Docker(Box<DockerError>),
BitcoinCore {
group_index: usize,
source: Box<BitcoinCoreError>,
},
BitcoinPeer {
from_group: usize,
to_group: usize,
source: Box<BitcoinRpcError>,
},
BitcoinRpc {
group_index: usize,
source: Box<BitcoinRpcError>,
},
BitcoinSyncTimeout {
attempts: usize,
last_tips: Vec<String>,
},
MissingBitcoindIp {
group_index: usize,
},
UnknownNode {
alias: String,
},
UnknownBitcoindGroup {
group_index: usize,
},
InvalidFundingAmount {
amount_btc: f64,
},
MissingLndIp {
alias: String,
},
Lnd {
alias: String,
source: Box<LndError>,
},
ConnectNodes(LndConnectError),
InvalidClusterNetworkSubnet {
subnet: String,
message: String,
},
StaticIpUnavailable {
subnet: String,
offset: u32,
largest_usable_offset: u32,
},
StartupCleanup {
cluster_id: String,
startup_error: String,
source: Box<DockerError>,
},
}Expand description
Error returned by cluster lifecycle and orchestration operations.
Variants§
Config(ConfigError)
Invalid cluster configuration.
Docker(Box<DockerError>)
Docker operation failed.
BitcoinCore
Failed to spawn a Bitcoin Core chain group.
Fields
source: Box<BitcoinCoreError>Underlying Bitcoin Core error.
BitcoinPeer
Failed to connect two Bitcoin Core chain groups.
Fields
source: Box<BitcoinRpcError>Underlying Bitcoin RPC error.
BitcoinRpc
Bitcoin Core RPC failed for a chain group.
Fields
source: Box<BitcoinRpcError>Underlying Bitcoin RPC error.
BitcoinSyncTimeout
Bitcoin Core chain groups did not converge on a common tip.
Fields
MissingBitcoindIp
A Bitcoin Core container had no Docker bridge IP.
UnknownNode
A requested LND node alias does not exist.
UnknownBitcoindGroup
A requested Bitcoin Core chain group does not exist.
InvalidFundingAmount
A funding amount was not positive and finite.
MissingLndIp
An LND container had no Docker bridge IP.
Lnd
LND operation failed.
ConnectNodes(LndConnectError)
Connecting to all LND nodes failed.
InvalidClusterNetworkSubnet
The managed Docker network did not report a usable IPv4 subnet.
The managed Docker network subnet was too small for this cluster.
StartupCleanup
Startup failed and the attempted cleanup also failed.
Trait Implementations§
Source§impl Debug for SpawnError
impl Debug for SpawnError
Source§impl Display for SpawnError
impl Display for SpawnError
Source§impl Error for SpawnError
impl Error for SpawnError
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()
Source§impl From<Box<DockerError>> for SpawnError
impl From<Box<DockerError>> for SpawnError
Source§fn from(source: Box<DockerError>) -> Self
fn from(source: Box<DockerError>) -> Self
Source§impl From<ConfigError> for SpawnError
impl From<ConfigError> for SpawnError
Source§fn from(source: ConfigError) -> Self
fn from(source: ConfigError) -> Self
Source§impl From<DockerError> for SpawnError
impl From<DockerError> for SpawnError
Source§fn from(source: DockerError) -> Self
fn from(source: DockerError) -> Self
Source§impl From<LndConnectError> for SpawnError
impl From<LndConnectError> for SpawnError
Source§fn from(source: LndConnectError) -> Self
fn from(source: LndConnectError) -> Self
Auto Trait Implementations§
impl Freeze for SpawnError
impl !RefUnwindSafe for SpawnError
impl Send for SpawnError
impl Sync for SpawnError
impl Unpin for SpawnError
impl UnsafeUnpin for SpawnError
impl !UnwindSafe for SpawnError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.