Skip to main content

AdaptiveIpcSidecar

Struct AdaptiveIpcSidecar 

Source
pub struct AdaptiveIpcSidecar { /* private fields */ }
Expand description

Background scanner thread that drives family promotions on an AdaptiveIpc by polling AdaptiveIpc::maybe_promote on a timer.

spawn starts the thread; shutdown stops it cleanly. The thread polls every scan_interval, calls maybe_promote(), and counts a promotion when the call returns Ok(Some(_)).

Implementations§

Source§

impl AdaptiveIpcSidecar

Source

pub fn spawn<T: Marshal + Copy + Send + Sync + 'static>( ipc: Arc<AdaptiveIpc<T>>, scan_interval: Duration, ) -> Self

Spawn a sidecar thread that polls ipc.maybe_promote() every scan_interval. Each successful promotion is counted in promotions_triggered.

Source

pub fn promotions_triggered(&self) -> u64

Number of successful promotions the sidecar has issued since spawn.

Source

pub fn shutdown(self)

Stop the scanner thread and join it.

Trait Implementations§

Source§

impl Drop for AdaptiveIpcSidecar

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.