pluginop

Crates.iopluginop
lib.rspluginop
version0.1.0
sourcesrc
created_at2024-06-03 07:42:22.65022
updated_at2024-06-03 07:42:22.65022
descriptionA companion library to make a QUIC implementation pluginizable
homepagehttps://core-quic.github.io/
repositoryhttps://github.com/core-quic/pluginop
max_upload_size
id1259798
size74,559
Quentin De Coninck (qdeconinck)

documentation

README

PluginOp: Pluginizable Operations

Test Benchmark Test coverage

One day, we will make the Internet great again. In the meantime, we struggle with engineering problems.

PluginOp is a crate intending to make (Rust) network implementation seamlessly pluginizable. The project consists in several sub-crates:

  • pluginop-common: contains all the common structures (part of the standardized API) shared by both the plugins and the host implementation
  • pluginop: the main crate of this project, used by the host implementation to be pluginizable
  • pluginop-macro: contains macros to be used by the host implementation to pluginize its functions using one-liners
  • pluginop-mock: a mocking host implementation used to test and benchmark the whole project
  • pluginop-octets: a fork of the quiche's octets crate with support to raw pointer conversion
  • pluginop-rawptr: an abstraction over raw pointers
  • pluginop-wasm: the crate offering an API to plugins

The tests folder contains plugins for tests and benchmarks purposes.

Supported Core Implementations

  • core-quic: Based on quiche, main core implementation

  • core-quinn: Based on quinn, mostly integrated in the quinn-proto crate. Does not have full support (yet), but simple frame-based plugins work.

Existing plugins

QUIC-specific plugins are available at the core-quic-plugins repo.

Commit count: 101

cargo fmt