pub struct PolicyCache { /* private fields */ }Expand description
A thread-safe cache for storing policies by their associated public keys.
Implementations§
Source§impl PolicyCache
impl PolicyCache
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new, empty PolicyCache.
§Returns
A new instance of PolicyCache with an empty internal storage.
Sourcepub fn insert(&self, pubkey: Pubkey, slot: u64, item: Policy)
pub fn insert(&self, pubkey: Pubkey, slot: u64, item: Policy)
Inserts a policy into the cache, associating it with the given public key. Only updates if the incoming slot is greater than the current slot.
§Arguments
pubkey- The public key to associate with the policy.slot- The slot number of the policy update.policy- The policy to be stored in the cache.
Trait Implementations§
Source§impl Default for PolicyCache
impl Default for PolicyCache
Source§impl From<SlotRpcResponse<Vec<(Address, Policy)>>> for PolicyCache
impl From<SlotRpcResponse<Vec<(Address, Policy)>>> for PolicyCache
Source§fn from(response: PoliciesSlotRpcResponse) -> Self
fn from(response: PoliciesSlotRpcResponse) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for PolicyCache
impl !RefUnwindSafe for PolicyCache
impl Send for PolicyCache
impl Sync for PolicyCache
impl Unpin for PolicyCache
impl UnwindSafe for PolicyCache
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request