pub enum ErrorKind {
Show 28 variants
AlreadyExistsError,
ArgumentValidationError,
ConfigError,
GrpcConnectError,
RetrieveRunError,
RetrieveAssetError,
UpdateAssetError,
UpdateRunError,
RetrieveIngestionConfigError,
EncodeMessageError,
CreateRunError,
CreateIngestionConfigError,
CreateFlowError,
NotFoundError,
IoError,
NumberConversionError,
TimeConversionError,
StreamError,
RetriesExhausted,
BackupsError,
IncompatibleIngestionConfigChange,
UnknownFlow,
EmptyResponseError,
ProtobufDecodeError,
BackupIntegrityError,
BackupLimitReached,
SiftStreamMetricsServerError,
GeneralError,
}Expand description
Various categories of errors that can occur throughout Sift crates.
Each variant represents a different category of error that can occur when interacting with Sift services or processing data. Error kinds help categorize errors for better error handling and user feedback.
§Example
use sift_error::{Error, ErrorKind};
let error = Error::new_msg(ErrorKind::NotFoundError, "asset not found");
match error.kind() {
ErrorKind::NotFoundError => println!("Resource was not found"),
ErrorKind::IoError => println!("I/O error occurred"),
_ => println!("Other error"),
}Variants§
AlreadyExistsError
Indicates that the error is due to a resource already existing.
ArgumentValidationError
Indicates user-error having to do with bad arguments.
ConfigError
Indicates that the program is unable to grab credentials from a user’s sift.toml file.
GrpcConnectError
Indicates that the program was unable to connect to Sift.
This occurs when there are network issues, invalid URIs, TLS problems, or other connection-related failures when attempting to reach Sift services.
RetrieveRunError
Indicates that the program was unable to retrieve the run being requested.
RetrieveAssetError
Indicates that the program was unable to retrieve the asset being requested.
UpdateAssetError
Indicates that the program was unable to update the asset being requested.
UpdateRunError
Indicates a failure to update a run.
RetrieveIngestionConfigError
Indicates that the program was unable to retrieve the ingestion config being requested.
EncodeMessageError
Indicates that the program was unable to encode the message being requested.
CreateRunError
Indicates a failure to create a run.
CreateIngestionConfigError
Indicates a failure to create an ingestion config.
CreateFlowError
Indicates a failure to create a flow.
NotFoundError
Indicates a failure to find the requested resource, likely because it doesn’t exist.
IoError
General I/O errors.
NumberConversionError
Indicates that there was a conversion between numeric times.
TimeConversionError
Indicates a failure to generate a particular time-type from arguments.
StreamError
General errors that can occur while streaming telemetry i.e. data ingestion.
This is a catch-all for streaming-related errors that don’t fit into more specific categories, such as stream initialization failures or unexpected stream state errors.
RetriesExhausted
Indicates that all retries were exhausted in the configured retry policy.
BackupsError
General errors that can occur while processing backups during streaming.
IncompatibleIngestionConfigChange
Indicates that the user is making a change that is not backwards compatible with an existing ingestion config.
UnknownFlow
Indicates that a user provided a flow-name that doesn’t match any configured flow in the parent ingestion config.
EmptyResponseError
Indicates an empty response from a gRPC service.
This really shouldn’t happen in normal operation. It occurs when a gRPC response is unexpectedly empty.
ProtobufDecodeError
When failing to decode protobuf from its wire format.
BackupIntegrityError
When backup checksums don’t match.
BackupLimitReached
When backup file/buffer limit has been reached.
SiftStreamMetricsServerError
Errors with the SiftStream Metrics Server.
GeneralError
General errors that are rarely returned.
This is a catch-all error kind for unexpected or unclassified errors. Contributors should prefer more specific error kinds when possible.
Trait Implementations§
impl Copy for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnsafeUnpin for ErrorKind
impl UnwindSafe for ErrorKind
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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::Request