pub struct CanaryServiceImpl { /* private fields */ }Expand description
Adapter implementing canary shard generation and check logic.
Generates an (N+1)th canary shard that cannot participate in real Reed-Solomon reconstruction. The canary is embedded into the first cover that has sufficient capacity.
Implementations§
Trait Implementations§
Source§impl CanaryService for CanaryServiceImpl
impl CanaryService for CanaryServiceImpl
Source§fn embed_canary(
&self,
covers: Vec<CoverMedia>,
embedder: &dyn EmbedTechnique,
) -> Result<(Vec<CoverMedia>, CanaryShard), CanaryError>
fn embed_canary( &self, covers: Vec<CoverMedia>, embedder: &dyn EmbedTechnique, ) -> Result<(Vec<CoverMedia>, CanaryShard), CanaryError>
Embed an additional canary shard in
covers alongside the regular
distribution. Read moreSource§fn check_canary(&self, shard: &CanaryShard) -> bool
fn check_canary(&self, shard: &CanaryShard) -> bool
Return
true if the shard’s notify URL is reachable, indicating
the canary has been accessed. Read moreAuto Trait Implementations§
impl Freeze for CanaryServiceImpl
impl RefUnwindSafe for CanaryServiceImpl
impl Send for CanaryServiceImpl
impl Sync for CanaryServiceImpl
impl Unpin for CanaryServiceImpl
impl UnsafeUnpin for CanaryServiceImpl
impl UnwindSafe for CanaryServiceImpl
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> 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 more