PcapWriter

Struct PcapWriter 

Source
pub struct PcapWriter {
    output: BufWriter<Box<dyn Write>>,
    layers: CaptureLayers,
    encapsulation: PcapEncapsulation,
    packet_id: u16,
}

Fields§

§output: BufWriter<Box<dyn Write>>§layers: CaptureLayers§encapsulation: PcapEncapsulation§packet_id: u16

Implementations§

Source§

impl PcapWriter

Source

pub fn create( path: &Path, layers: CaptureLayers, encapsulation: PcapEncapsulation, ) -> Result<Self>

Source

pub fn to_writer( sink: Box<dyn Write>, layers: CaptureLayers, encapsulation: PcapEncapsulation, ) -> Result<Self>

Write the capture into an arbitrary sink.

The extcap interface hands us the FIFO Wireshark is reading, which is opened for writing rather than created.

Source

pub fn write_radio(&mut self, frame: &[u8]) -> Result<()>

Source

pub fn write_radio_with_info( &mut self, rf: &RfParams, info: &RxInfo, frame: &[u8], ) -> Result<()>

Record a radio frame along with how the receiver heard it.

Only LoRaTap has somewhere to put the metadata; the other encapsulations quietly ignore it and record the frame alone.

Source

pub fn write_ulcp( &mut self, direction: PcapDirection, frame: &[u8], ) -> Result<()>

Source

fn write_udp( &mut self, direction: PcapDirection, src_port: u16, dst_port: u16, payload: &[u8], ) -> Result<()>

Source

fn write_record(&mut self, packet: &[u8]) -> Result<()>

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.
Source§

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