Enum 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

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

Fields

§core: ErrorCore

The error core.

§

KeyTooLarge

Indicates the key length is too big for sst.

Fields

§core: ErrorCore

The error core.

§length: usize

The length of the key.

§limit: usize

The limit on length of the key.

§

ValueTooLarge

Indicates the value length is too big for sst.

Fields

§core: ErrorCore

The error core.

§length: usize

The length of the value.

§limit: usize

The limit on length of the value.

§

SortOrder

The SST was provided keys out of order.

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.

§

TableFull

The table is full.

Fields

§core: ErrorCore

The error core.

§size: usize

The attempted size of the table.

§limit: usize

The limit on size of the table.

§

BlockTooSmall

The block was too small to be considered valid.

Fields

§core: ErrorCore

The error core.

§length: usize

The length observed.

§required: usize

The length required.

§

UnpackError

There was an error unpacking data.

Fields

§core: ErrorCore

The error core.

§error: Error

The prototk unpack error.

§context: String

Additional context.

§

Crc32cFailure

A block failed its crc check.

Fields

§core: ErrorCore

The error core.

§start: u64

The starting offset.

§limit: u64

The limit offset.

§crc32c: u32

The computed crc.

§

Corruption

General corruption was observed.

Fields

§core: ErrorCore

The error core.

§context: String

A description of what was corrupt.

§

LogicError

A logic error was encountered.

Fields

§core: ErrorCore

The error core.

§context: String

A hint as to what went wrong.

§

SystemError

A system error was encountered.

Fields

§core: ErrorCore

The error core.

§what: String

A hint as to what went wrong.

§

TooManyOpenFiles

Too many files were opened at once.

Fields

§core: ErrorCore

The error core.

§limit: usize

The limit on the number of files allowed.

§

EmptyBatch

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

Fields

§core: ErrorCore

The error core.

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(what: 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(error: 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

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<'prototk> Unpackable<'prototk> for Error

Source§

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

Source§

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_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 Freeze for Error

§

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

Source§

type Output = T

Should always be Self
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.