Struct InMemory

Source
pub struct InMemory { /* private fields */ }
Available on crate feature in-memory only.
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

Source§

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

Source§

type Error = InMemoryStorageError

Error type for the storage layer.
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 get_ids(&self) -> Result<Vec<InvoiceId>, Self::Error>

Retrieve all currently-tracked invoice ids from storage. 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_for_each<F>(&self, f: F) -> Result<(), Self::Error>
where F: FnMut(Result<Invoice, Self::Error>) -> Result<(), Self::Error>,

Iterates over all invoices in storage, executing the supplied closure on each. Read more
Source§

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

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

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

Find lowest current height of an invoice in storage. Read more
Source§

impl OutputKeyStorage for InMemory

Source§

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

Source§

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

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