pub struct Database {
    backend: Arc<Rocks>,
    path: Arc<Path>,
    column_options: Arc<LedgerColumnOptions>,
}

Fields§

§backend: Arc<Rocks>§path: Arc<Path>§column_options: Arc<LedgerColumnOptions>

Implementations§

source§

impl Database

source

pub fn open(path: &Path, options: BlockstoreOptions) -> Result<Self>

source

pub fn destroy(path: &Path) -> Result<()>

source

pub fn get<C>(&self, key: C::Index) -> Result<Option<C::Type>>where C: TypedColumn + ColumnName,

source

pub fn iter<C>( &self, iterator_mode: IteratorMode<C::Index> ) -> Result<impl Iterator<Item = (C::Index, Box<[u8]>)> + '_>where C: Column + ColumnName,

source

pub fn cf_handle<C>(&self) -> &ColumnFamilywhere C: Column + ColumnName,

source

pub fn column<C>(&self) -> LedgerColumn<C>where C: Column + ColumnName,

source

pub fn raw_iterator_cf(&self, cf: &ColumnFamily) -> Result<DBRawIterator<'_>>

source

pub fn batch(&self) -> Result<WriteBatch<'_>>

source

pub fn write(&self, batch: WriteBatch<'_>) -> Result<()>

source

pub fn storage_size(&self) -> Result<u64>

source

pub fn delete_range_cf<C>( &self, batch: &mut WriteBatch<'_>, from: Slot, to: Slot ) -> Result<()>where C: Column + ColumnName,

Adds a [from, to] range that deletes all entries between the from slot and to slot inclusively. If from slot and to slot are the same, then all entries in that slot will be removed.

source

pub fn delete_file_in_range_cf<C>(&self, from: Slot, to: Slot) -> Result<()>where C: Column + ColumnName,

Delete files whose slot range is within [from, to].

source

pub fn is_primary_access(&self) -> bool

source

pub fn set_oldest_slot(&self, oldest_slot: Slot)

source

pub fn live_files_metadata(&self) -> Result<Vec<LiveFile>>

Trait Implementations§

source§

impl Debug for Database

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> AbiExample for T

source§

default fn example() -> T

source§

impl<T> AbiExample for T

source§

default fn example() -> T

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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> 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 Twhere 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
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.
§

impl<T> TupleTree<T, ()> for T

§

const SIZE: Size = Size{ degree: 0, descendants: 0,}

§

fn descendants(_indirect_level: usize) -> usize

§

fn height() -> usize

§

fn preorder(self, f: &mut impl FnMut(Visit<T>))

§

fn preorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))

§

fn postorder(self, f: &mut impl FnMut(Visit<T>))

§

fn postorder_with_size_hint(self, f: &mut impl FnMut(Visit<T>, Size))

§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

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