Crate retina_datatypes

source ·
Expand description

Subscribable data types.

A subscription is a request for a callback on a subset of network traffic specified by a filter. Each callback function requires one or more subscribable data types as parameter(s), which it immutably borrows.

Each subscribable datatype must:

  • Be defined as a DataType, with appropriate parameters and retina_core::filter::Level.
  • Implement one of the traits defined in this module (Tracked, FromSession, etc.)
  • Be added to the DATATYPES map (note: we are actively working on an approach that eliminates this requirement).

Re-exports§

Modules§

Traits§

  • Trait implemented by datatypes that are built from a packet (Mbuf). This is used when subscribing to packet-level data.
  • Trait implemented by datatypes that are built from session data. This is used when subscribing to specific parsed application-layer data.
  • Trait for a datatype that is built from a list of raw packets.
  • Trait implemented by datatypes that are constant throughout a connection and inferrable at first packet.
  • Trait implemented by datatypes that require inline tracking. This is typically required for subscribable types that require calculating metrics throughout a connection, e.g. QoS metrics.