Skip to main content

RollingPacketCaptureRequest

Enum RollingPacketCaptureRequest 

Source
pub enum RollingPacketCaptureRequest {
    Detach {
        name: String,
        control_handle: RollingPacketCaptureControlHandle,
    },
    StopAndDownload {
        channel: ServerEnd<FileMarker>,
        control_handle: RollingPacketCaptureControlHandle,
    },
    Discard {
        control_handle: RollingPacketCaptureControlHandle,
    },
}
Expand description

Rolling packet capture.

Once a rolling packet capture has stopped either because [StopAndDownload] has been called or the capture stopped for some other reason and the server has emitted [OnEnded], and there is no client connected to this protocol for some time, the server discards the contents of the packet capture. This timeout resets every time a client reconnects to this protocol, and exists to provide resilience against disconnections.

Variants§

§

Detach

Detaches the lifetime of this protocol from the underlying packet capture.

After calling Detach, closing the client end no longer results in the packet capture from being terminated. The passed string names this packet capture and can be used once to reconnect via [PacketCaptureProvider.ReconnectRolling]. This gives the client the option of ensuring the packet capture is resilient against disconnections.

Detach can be called multiple times, but only the name passed in the most recent call is valid and previously passed names are invalidated.

§

StopAndDownload

Stop and make this rolling packet capture downloadable.

It is implicit by calling this method that the packet capture is stopped due to user request, so the [RollingPacketCapture.OnEnded] event is not emitted.

This method can be called multiple times, including across disconnects: a client can call this method, disconnect, reconnect, and call this method again.

The server discards the contents of the packet capture once this method has been called and there is no client connected to this protocol for some time.

§

Discard

Discard this rolling packet capture.

Clients should call this method when they have successfully downloaded the packet capture, or if they no longer need it for any reason.

When this method is called, the server closes all readers initialized via [StopAndDownload] and all future interactions on this protocol are invalid.

Implementations§

Trait Implementations§

Source§

impl Debug for RollingPacketCaptureRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. 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, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

Source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. 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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.