Enum sst::Error

source ·
pub enum Error {
Show 13 variants Success { core: ErrorCore, }, KeyTooLarge { core: ErrorCore, length: usize, limit: usize, }, ValueTooLarge { core: ErrorCore, length: usize, limit: usize, }, SortOrder { core: ErrorCore, last_key: Vec<u8>, last_timestamp: u64, new_key: Vec<u8>, new_timestamp: u64, }, TableFull { core: ErrorCore, size: usize, limit: usize, }, BlockTooSmall { core: ErrorCore, length: usize, required: usize, }, UnpackError { core: ErrorCore, error: Error, context: String, }, Crc32cFailure { core: ErrorCore, start: u64, limit: u64, crc32c: u32, }, Corruption { core: ErrorCore, context: String, }, LogicError { core: ErrorCore, context: String, }, SystemError { core: ErrorCore, what: String, }, TooManyOpenFiles { core: ErrorCore, limit: usize, }, EmptyBatch { core: ErrorCore, },
}
Expand description

The sst Error type.

Variants§

§

Success

Fields

§core: ErrorCore

The error core.

Success. Used for Message default. Should not be constructed otherwise.

§

KeyTooLarge

Fields

§core: ErrorCore

The error core.

§length: usize

The length of the key.

§limit: usize

The limit on length of the key.

Indicates the key length is too big for sst.

§

ValueTooLarge

Fields

§core: ErrorCore

The error core.

§length: usize

The length of the value.

§limit: usize

The limit on length of the value.

Indicates the value length is too big for sst.

§

SortOrder

Fields

§core: ErrorCore

The error core.

§last_key: Vec<u8>

The most recently inserted key.

§last_timestamp: u64

The most recently inserted timestamp.

§new_key: Vec<u8>

The key that happened out of order.

§new_timestamp: u64

The timestamp that happened out of order.

The SST was provided keys out of order.

§

TableFull

Fields

§core: ErrorCore

The error core.

§size: usize

The attempted size of the table.

§limit: usize

The limit on size of the table.

The table is full.

§

BlockTooSmall

Fields

§core: ErrorCore

The error core.

§length: usize

The length observed.

§required: usize

The length required.

The block was too small to be considered valid.

§

UnpackError

Fields

§core: ErrorCore

The error core.

§error: Error

The prototk unpack error.

§context: String

Additional context.

There was an error unpacking data.

§

Crc32cFailure

Fields

§core: ErrorCore

The error core.

§start: u64

The starting offset.

§limit: u64

The limit offset.

§crc32c: u32

The computed crc.

A block failed its crc check.

§

Corruption

Fields

§core: ErrorCore

The error core.

§context: String

A description of what was corrupt.

General corruption was observed.

§

LogicError

Fields

§core: ErrorCore

The error core.

§context: String

A hint as to what went wrong.

A logic error was encountered.

§

SystemError

Fields

§core: ErrorCore

The error core.

§what: String

A hint as to what went wrong.

A system error was encountered.

§

TooManyOpenFiles

Fields

§core: ErrorCore

The error core.

§limit: usize

The limit on the number of files allowed.

Too many files were opened at once.

§

EmptyBatch

Fields

§core: ErrorCore

The error core.

An empty batch was provided to a builder that cannot accept empty batches.

Implementations§

source§

impl Error

source

pub fn core(&self) -> &ErrorCore

Get an immutable reference to this core.

source

pub fn core_mut(&mut self) -> &mut ErrorCore

Get a mutable reference to this core.

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

Returns a copy 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 Error

source§

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

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

impl Default for Error

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Display for Error

source§

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

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

impl<'prototk> FieldPackHelper<'prototk, message<Error>> for Error

source§

fn field_pack_sz(&self, tag: &Tag) -> usize

The size of encoding self with tag.
source§

fn field_pack(&self, tag: &Tag, out: &mut [u8])

Pack the tag into the output buffer.
source§

impl<'prototk> FieldUnpackHelper<'prototk, message<Error>> for Error

source§

fn merge_field(&mut self, proto: message<Error>)

Merge the proto into self.
source§

impl From<Error> for Error

source§

fn from(error: Error) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(error: Error) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(what: Error) -> Error

Converts to this type from the input type.
source§

impl From<Infallible> for Error

source§

fn from(_: Infallible) -> Error

Converts to this type from the input type.
source§

impl From<message<Error>> for Error

source§

fn from(proto: message<Self>) -> Self

Converts to this type from the input type.
source§

impl Packable for Error

source§

fn pack_sz(&self) -> usize

pack_sz returns the number of bytes required to serialize the Packable object.
source§

fn pack(&self, buf: &mut [u8])

pack fills in the buffer out with the packed binary representation of the Packable object. The implementor is responsible to ensure that out is exactly pack_sz() bytes and implementations are encouraged to assert this. Read more
source§

fn stream<W: Write>(&self, writer: &mut W) -> Result<usize, Error>

stream writes the object to the provided writer using the same representation that would be used in a call to pack. The implementor is responsible for making sure that the number of bytes written is exactly equal to the number of required bytes. Read more
source§

impl PartialEq for Error

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'prototk> Unpackable<'prototk> for Error

§

type Error = Error

Type of error this unpackable returns.
source§

fn unpack<'b>(buf: &'b [u8]) -> Result<(Self, &'b [u8]), Error>
where 'b: 'prototk,

unpack attempts to return an Unpackable object stored in a prefix of buf. The method returns the result and remaining unused buffer.
source§

impl Z for Error

§

type Error = Error

The type of error returned from the with_* methods.
source§

fn long_form(&self) -> String

Convert an error to a string free from “=”*80.
source§

fn with_token(self, identifier: &str, value: &str) -> Self::Error

👎Deprecated since 0.4.0: use with_info instead
Add a token.
source§

fn with_url(self, identifier: &str, url: &str) -> Self::Error

👎Deprecated since 0.4.0: use with_info instead
Add a URL.
source§

fn with_variable<X>(self, variable: &str, x: X) -> Self::Error
where X: Debug,

👎Deprecated since 0.4.0: use with_info instead
Add debug formatting of a local variable.
source§

fn with_info<X: Debug>(self, name: &str, value: X) -> Self::Error

Add debug formatting of a local variable.
source§

fn with_lazy_info<F: FnOnce() -> String>( self, name: &str, value: F ) -> Self::Error

Add debug formatting using a closure.
source§

impl Eq for Error

source§

impl<'prototk> Message<'prototk> for Error

Auto Trait Implementations§

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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§

default 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>,

§

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>,

§

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.