Skip to content

Message Producer

The MessageProducer struct serves as a key component within the Chipmunk core, responsible for orchestrating the data ingestion pipeline. Its primary role is to connect a source providing raw bytes (implementing the ByteSource trait) with a mechanism for interpreting those bytes (implementing the Parser trait), managing the entire cycle from polling data to parsing it and delivering the results for further processing within Chipmunk.

The MessageProducer is designed to be generic over different implementations of the ByteSource and Parser traits, allowing for flexible combinations of data sources and parsing formats based on specific session requirements.

Implementations for ByteSource and Parser can be either built-in components provided by the Chipmunk core or provided dynamically via the plugin system based on WebAssembly and the Component Model.

Chipmunk currently includes the following built-in parsers:

  • DLT
  • SomeIP
  • StringTokenizer

And a variety of built-in byte-sources:

  • BinaryByteSource (For files with binary format)
  • TCP
  • UDP
  • Process Commands
  • PCapNG
  • PCap Legacy

For a visual representation of how the Message Producer connects Byte Sources and Parsers, please refer to the diagram.