Struct tvix_store::pathinfoservice::lru::LruPathInfoService
source · pub struct LruPathInfoService {
instance_name: String,
lru: Arc<RwLock<LruCache<[u8; 20], PathInfo>>>,
}
Fields§
§instance_name: String
§lru: Arc<RwLock<LruCache<[u8; 20], PathInfo>>>
Implementations§
source§impl LruPathInfoService
impl LruPathInfoService
pub fn with_capacity(instance_name: String, capacity: NonZeroUsize) -> Self
Trait Implementations§
source§impl PathInfoService for LruPathInfoService
impl PathInfoService for LruPathInfoService
source§fn get<'life0, 'async_trait>(
&'life0 self,
digest: [u8; 20],
) -> Pin<Box<dyn Future<Output = Result<Option<PathInfo>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get<'life0, 'async_trait>(
&'life0 self,
digest: [u8; 20],
) -> Pin<Box<dyn Future<Output = Result<Option<PathInfo>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve a PathInfo message by the output digest.
source§fn put<'life0, 'async_trait>(
&'life0 self,
path_info: PathInfo,
) -> Pin<Box<dyn Future<Output = Result<PathInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn put<'life0, 'async_trait>(
&'life0 self,
path_info: PathInfo,
) -> Pin<Box<dyn Future<Output = Result<PathInfo, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Store a PathInfo message. Implementations MUST call validate and reject
invalid messages.
source§fn list(&self) -> BoxStream<'static, Result<PathInfo, Error>>
fn list(&self) -> BoxStream<'static, Result<PathInfo, Error>>
Iterate over all PathInfo objects in the store.
Implementations can decide to disallow listing. Read more
source§fn nar_calculation_service(&self) -> Option<Box<dyn NarCalculationService>>
fn nar_calculation_service(&self) -> Option<Box<dyn NarCalculationService>>
Returns a (more) suitable NarCalculationService.
This can be used to offload NAR calculation to the remote side.
Auto Trait Implementations§
impl Freeze for LruPathInfoService
impl !RefUnwindSafe for LruPathInfoService
impl Send for LruPathInfoService
impl Sync for LruPathInfoService
impl Unpin for LruPathInfoService
impl !UnwindSafe for LruPathInfoService
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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