pub struct Refund {
pub key: String,
pub amount: u64,
}Expand description
One key/amount entry in an atomic multi-dimensional refund. Twin to
Spend. Introduced in R67 to close R66 F2: the previous shape
issued 3 independent store.refund calls (total_calls, per-tool,
payout), each its own Redis round-trip. Crash/reconnect between
steps left partial refund state; concurrent try_tool_call
under InMemoryStore could observe partially-refunded state
(fresh total_calls headroom but still-charged per-tool) — an
ordering result impossible under a single-Lua refund and a
cross-backend divergence with RedisStore (which has zero
serialization between the 3 refunds).
Fields§
§key: StringCounter key.
amount: u64Amount to return.
Trait Implementations§
impl Eq for Refund
impl StructuralPartialEq for Refund
Auto Trait Implementations§
impl Freeze for Refund
impl RefUnwindSafe for Refund
impl Send for Refund
impl Sync for Refund
impl Unpin for Refund
impl UnsafeUnpin for Refund
impl UnwindSafe for Refund
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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