Capture

Struct Capture 

Source
pub struct Capture<T> { /* private fields */ }
Expand description

Capture TCP packets on an interface

Implementations§

Source§

impl Capture<Ready>

Source

pub fn new(filter: Box<dyn Filter>, interface: Option<String>) -> Self

Create a new Capture struct with a filter and interface to capture on

This simply sets up a struct without actually starting to capture.

Source

pub fn start(self) -> Result<Capture<Capturing>, CaptureError>

Start capturing packets

This method will consume the object and return a new one.

§Errors

Will return an error if something goes wrong with creating the socket or joining a thread after a socket error has occurred.

Source§

impl Capture<Capturing>

Source

pub fn end(self) -> Result<Vec<IpPacket>, CaptureError>

Stop capturing packets and get captured packets

This will signal each thread to stop and get the captured packets.

§Errors

If there is an error in joining the thread that stores the packets, an error will be returned. No error in joining the snooping thread will be returned as long as the store thread returns properly.

Auto Trait Implementations§

§

impl<T> Freeze for Capture<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Capture<T>
where T: RefUnwindSafe,

§

impl<T> Send for Capture<T>
where T: Send,

§

impl<T> Sync for Capture<T>
where T: Sync,

§

impl<T> Unpin for Capture<T>
where T: Unpin,

§

impl<T> UnwindSafe for Capture<T>
where T: UnwindSafe,

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.