logo

Crate oskr

source · []
Expand description

The document here mainly for:

  • Instruction on how to implement protocols on top of the framework. Check protocol::unreplicated module for a beginner example.
  • Instruction on how to evaluate with this codebase. Check provided binaries for reference.
  • Record some explanation of design choice, help me think consistently over long develop period.

The detail implementation of various protocols and applications are mostly undocumented, refer to original work for them.

Stability

As the time of writing this, we are around release candidate of 1.0 version, and I have tried out most alternative architecture and components, and I believe that most thing remain here comes with a reason.

As a result, hopefully there will be no major breaking update on the codebase, i.e. everything in facade module remains the same forever. The future work should be:

  • Add more protocols and applications implementation and evaluate them.
  • Add more framework components, e.g. kernel network stack, if necessary.
  • Bump toolchain and dependencies version.

Modules

Application implementations.

Common definitions. Extract them so future refactor can be easier.

Low-level DPDK binding.

Interfaces across top-level modules, and to outside.

Engineering components.

Protocol implementations.

Simulated facilities for writing test cases.

Stage abstraction. Receiver on stage can use multiple threads efficiently.