Skip to content

Support rdhv6 + Better data encapsulation

Marc Konig requested to merge support_rdhv6 into master

Major change in implementation details:

Finally the need to encapsulate Data as it is read from the input, and sent through the pipeline was too great.

Adds a new CdpChunk struct that wraps the RDHs, raw byte payloads, and memory positions, returned from the input scanner. This new data type takes the place of the vector of tuples sent around the pipeline before. It better encapsulates the chunks and allows for easier and better interaction with them. It is still important that the data is not sent around as e.g. single CDPs or HBFs as this is simply too little data for the concurrent pipeline. Working in larger chunks is massively more efficient.

CdpChunk is a minimalistic vector implementation, supports methods such as push(), len(), is_empty(), etc. Furthermore it implements the IntoIterator trait both for owned and borrowed types. Making it easy and efficient to iterate, destructure, and serialize CdpChunks without any cloning.

Edited by Marc Konig

Merge request reports