1 unstable release
0.1.0 | Jun 3, 2024 |
---|
#100 in #quic
140KB
2.5K
SLoC
PluginOp: Pluginizable Operations
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.
Dependencies
~11–20MB
~316K SLoC