use thiserror::Error;
#[derive(Debug, Error)]
pub enum NodeError {
#[error("initialization failed: {0}")]
Init(String),
#[error("connection error: {0}")]
Connection(String),
#[error("output error: {0}")]
Output(String),
#[error("data error: {0}")]
Data(String),
#[error("internal error")]
Internal(#[from] eyre::Report),
}
pub type NodeResult<T> = std::result::Result<T, NodeError>;
#[derive(Debug, Error)]
pub enum PatternError {
#[error("pattern reply timed out")]
Timeout,
#[error("server `{0}` restarted while waiting for reply")]
ServerRestarted(String),
#[error("event stream ended before pattern reply arrived")]
StreamEnded,
#[error("pattern wait failed: {0}")]
StreamError(String),
}