pub struct BudgetLedger { /* private fields */ }Implementations§
Source§impl BudgetLedger
impl BudgetLedger
pub fn empty() -> Self
pub fn rehydrate(events: &[BudgetLedgerEvent]) -> Result<Self, BudgetError>
pub const fn version(&self) -> BudgetLedgerVersion
pub const fn account_id(&self) -> Option<&BudgetAccountId>
pub const fn limits(&self) -> Option<&BudgetLimits>
pub fn reservations(&self) -> impl Iterator<Item = &BudgetReservation>
pub fn decide_open( &self, account_id: BudgetAccountId, limits: BudgetLimits, opened_at: OffsetDateTime, ) -> Result<Option<BudgetLedgerEvent>, BudgetError>
pub fn decide_reserve( &self, operation_id: BudgetOperationId, estimate: BudgetReservationEstimate, reserved_at: OffsetDateTime, ) -> Result<Option<BudgetLedgerEvent>, BudgetError>
pub fn decide_reconcile( &self, reservation_id: BudgetReservationId, reconciliation_id: BudgetReconciliationId, measured: MeasuredBudgetQuantities, reconciled_at: OffsetDateTime, ) -> Result<Option<BudgetLedgerEvent>, BudgetError>
pub fn apply(&mut self, event: BudgetLedgerEvent) -> Result<(), BudgetError>
pub fn balance(&self) -> Result<BudgetBalance, BudgetError>
Trait Implementations§
Source§impl Clone for BudgetLedger
impl Clone for BudgetLedger
Source§impl Debug for BudgetLedger
impl Debug for BudgetLedger
Source§impl Default for BudgetLedger
impl Default for BudgetLedger
impl Eq for BudgetLedger
Source§impl PartialEq for BudgetLedger
impl PartialEq for BudgetLedger
impl StructuralPartialEq for BudgetLedger
Auto Trait Implementations§
impl Freeze for BudgetLedger
impl RefUnwindSafe for BudgetLedger
impl Send for BudgetLedger
impl Sync for BudgetLedger
impl Unpin for BudgetLedger
impl UnsafeUnpin for BudgetLedger
impl UnwindSafe for BudgetLedger
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more