Skip to main content

PacketSink

Trait PacketSink 

Source
pub trait PacketSink {
    // Required methods
    fn write(&mut self, record: &PacketRecord) -> Result<(), ExportError>;
    fn close(&mut self) -> Result<u64, ExportError>;
}
Expand description

Common interface for streaming packet writers.

Each format (JSON, Parquet, Avro) provides its own implementation. Records are pushed one at a time via write; [close] flushes any internal buffer and returns the total packet count.

Required Methods§

Source

fn write(&mut self, record: &PacketRecord) -> Result<(), ExportError>

Write a single packet record to the output.

Source

fn close(&mut self) -> Result<u64, ExportError>

Flush all buffered data and finalise the output file.

Returns the total number of records written.

Implementors§