Skip to main content

Subscribable

Trait Subscribable 

Source
pub trait Subscribable {
    type Tracked: Trackable<Subscribed = Self>;

    // Required methods
    fn level() -> Level;
    fn parsers() -> Vec<ConnParser>;
    fn process_packet(
        mbuf: Mbuf,
        subscription: &Subscription<'_, Self>,
        conn_tracker: &mut ConnTracker<Self::Tracked>,
    )
       where Self: Sized;
}
Expand description

Represents a generic subscribable type. All subscribable types must implement this trait.

Required Associated Types§

Source

type Tracked: Trackable<Subscribed = Self>

Required Methods§

Source

fn level() -> Level

Returns the subscription level.

Source

fn parsers() -> Vec<ConnParser>

Returns a list of protocol parsers required to parse the subscribable type.

Source

fn process_packet( mbuf: Mbuf, subscription: &Subscription<'_, Self>, conn_tracker: &mut ConnTracker<Self::Tracked>, )
where Self: Sized,

Process a single incoming packet.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Subscribable for Connection

Source§

type Tracked = TrackedConnection

Source§

impl Subscribable for ConnectionFrame

Source§

type Tracked = TrackedConnectionFrame

Source§

impl Subscribable for DnsTransaction

Source§

type Tracked = TrackedDns

Source§

impl Subscribable for Frame

Source§

type Tracked = TrackedFrame

Source§

impl Subscribable for HttpTransaction

Source§

type Tracked = TrackedHttp

Source§

impl Subscribable for QuicStream

Source§

type Tracked = TrackedQuic

Source§

impl Subscribable for TlsHandshake

Source§

type Tracked = TrackedTls

Source§

impl Subscribable for ZcFrame

Source§

type Tracked = TrackedZcFrame