Inspector

Struct Inspector 

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

An inspector for stream data, inspecting it chunk by chunk.

See the inspect_* functions on BroadcastOutputStream and SingleOutputStream.

For proper cleanup, call

  • wait(), which waits for the collection task to complete.
  • cancel(), which sends a termination signal and then waits for the collection task to complete.

If not cleaned up, the termination signal will be sent when dropping this inspector, but the task will be aborted (forceful, not waiting for its regular completion).

Implementations§

Source§

impl Inspector

Source

pub fn is_finished(&self) -> bool

Checks if this task has finished.

Source

pub async fn wait(self) -> Result<(), InspectorError>

Wait for the inspector to terminate naturally.

An inspector will automatically terminate when either:

  1. The underlying write-side of the stream is dropped.
  2. The underlying stream is closed (by receiving an EOF / final read of 0 bytes).
  3. The first Next::Break is observed.

If none of these may occur in your case, this could/will hang forever!

Source

pub async fn cancel(self) -> Result<(), InspectorError>

Sends a cancellation event to the inspector, letting it shut down.

Trait Implementations§

Source§

impl Drop for Inspector

Source§

fn drop(&mut self)

Executes the destructor for this type. 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more