pub enum Error {
Show 18 variants
UnableToSerializeYamlObject(Error),
UnableToSerializeJsonObject(Error),
Validation(String),
ExecutionError(String),
EndOfInput,
UnableToSecureLock,
DuplicateRegisteredName(String),
InvalidValidationSchema(String),
ConfigFailedValidation(String),
ConfigurationItemNotFound(String),
NotYetImplemented,
UnableToSendToChannel(String),
RecvChannelError(RecvError),
ProcessingError(String),
ConditionalCheckfailed,
InputError(String),
OutputError(String),
NoInputToReturn,
}Expand description
Enum to capture errors occurred through the pipeline.
Uses thiserror for ergonomic error handling with proper std::error::Error implementation.
Errors that wrap other errors use #[source] or #[from] for proper error chaining.
Variants§
UnableToSerializeYamlObject(Error)
Yaml parsing errors found within the declarative language provided
UnableToSerializeJsonObject(Error)
JSON serialization is primarily utilized as a preparser to passing the declarative language to the given module by utilizing jsonschema to validate the input. This is unlikely to occur in practice since the yaml configuration object is converted to json for this step.
Validation(String)
Validation errors discovered by the jsonschema evaluation of the declarative configuration language provided to a given module
ExecutionError(String)
Error with the processing pipeline due to a failure of internal libraries or utilized modules
EndOfInput
EndOfInput is an error enum variant to indicate that the input module has finished and will not receive additional input. This error triggers a graceful shutdown of the processing pipeline
UnableToSecureLock
Unable to secure internal mutex lock
DuplicateRegisteredName(String)
A plugin of the same category (input, processing, output) has already been provided
InvalidValidationSchema(String)
The provided jsonschema configuration for a module is incorrect
ConfigFailedValidation(String)
Configuration provided to a module is invalid
ConfigurationItemNotFound(String)
Module is not registered with the runtime.
NotYetImplemented
Not yet implemented functionality
UnableToSendToChannel(String)
Failure to send to an internal channel processing crate::Messages
RecvChannelError(RecvError)
Failure to receive from internal raw channel
ProcessingError(String)
Processing module failed with an unrecoverable error. Processing of crate::Message is stopped and crate::Status is returned to the input module once all messages in this lineage have been processed
ConditionalCheckfailed
Conditional check has failed for crate::Message, such as use with [crate::modules::processors::switch] conditions
InputError(String)
Error encountered while calling crate::Input::read on an input module
OutputError(String)
Error encountered while calling crate::Output::write or crate::OutputBatch::write_batch on an output module
NoInputToReturn
Error returned by input module to indicate there are no messages to process
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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()
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more