Skip to main content

ErrorKind

Enum ErrorKind 

Source
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§

Source§

impl Clone for ErrorKind

Source§

fn clone(&self) -> ErrorKind

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for ErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ErrorKind

Source§

fn eq(&self, other: &ErrorKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ErrorKind

Source§

impl StructuralPartialEq for ErrorKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more