pub struct InMemory { /* private fields */ }
Expand description

In-memory store. Note that invoices stored in memory will not be recoverable on power loss. Burning bug mitigation will also be reset after application restart.

Implementations§

source§

impl InMemory

source

pub fn new() -> InMemory

Create a new in-memory store.

Trait Implementations§

source§

impl Default for InMemory

source§

fn default() -> Self

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

impl HeightStorage for InMemory

§

type Error = InMemoryStorageError

Error type for the storage layer.
source§

fn upsert(&mut self, height: u64) -> Result<Option<u64>, Self::Error>

Updates the payment gateway’s block height, or inserts the height if there is nothing to update. Returns the old height if it existed. Read more
source§

fn get(&self) -> Result<Option<u64>, Self::Error>

Returns the block height of the payment gateway, if it exists. Read more
source§

impl InvoiceStorage for InMemory

§

type Error = InMemoryStorageError

Error type for the storage layer.
§

type Iter<'a> = InMemoryIter<'a>

An iterator over all invoices in storage.
source§

fn insert(&mut self, invoice: Invoice) -> Result<(), Self::Error>

Insert invoice into storage for tracking. Read more
source§

fn remove( &mut self, invoice_id: InvoiceId ) -> Result<Option<Invoice>, Self::Error>

Remove invoice from storage, returning the invoice if it existed. Read more
source§

fn update(&mut self, invoice: Invoice) -> Result<Option<Invoice>, Self::Error>

Update existing invoice in storage, returning old value if it existed. If the invoice does not already exist, does nothing. Read more
source§

fn get(&self, invoice_id: InvoiceId) -> Result<Option<Invoice>, Self::Error>

Retrieve invoice from storage, returning None if it does not exist. Read more
source§

fn contains_sub_index(&self, sub_index: SubIndex) -> Result<bool, Self::Error>

Returns whether an invoice for the given subaddress exists in storage. Read more
source§

fn try_iter(&self) -> Result<Self::Iter<'_>, InMemoryStorageError>

Returns an iterator over all invoices in storage. Read more
source§

fn lowest_height(&self) -> Result<Option<u64>, Self::Error>

Recover lowest current height of an invoice in storage. Read more
source§

fn is_empty(&self) -> Result<bool, Self::Error>

Returns true if there are no invoices in storage. Read more
source§

impl OutputKeyStorage for InMemory

§

type Error = InMemoryStorageError

Error type for the storage layer.
source§

fn insert( &mut self, key: OutputPubKey, output_id: OutputId ) -> Result<(), Self::Error>

Insert an output’s public key into storage. Read more
source§

fn get(&self, key: OutputPubKey) -> Result<Option<OutputId>, Self::Error>

Returns the output ID associated with the given key, if it exists. Read more
source§

impl Storage for InMemory

§

type Error = InMemoryStorageError

Error type for the storage layer.
source§

fn flush(&self) -> Result<(), <Self as Storage>::Error>

Flush all changes to disk. This method should be manually implemented for any storage layer that does not automatically flush on write. The default implementation does nothing. Read more

Auto Trait Implementations§

Blanket Implementations§

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.

§

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