2 unstable releases
0.2.0 | Dec 15, 2023 |
---|---|
0.1.0 | Jan 19, 2023 |
#554 in Asynchronous
113 downloads per month
Used in switchboard
6KB
115 lines
rustcommon
rustcommon is a collection of common libraries we use in our Rust projects. This includes datastructures, logging, metrics, timers, and ratelimiting.
Overview
rustcommon is a workspace repository which contains several crates (libraries) which act as foundational libraries for other Rust projects, such as Pelikan, rpc-perf, and Rezolus.
Each crate within this repository contains its own readme and changelog detailing the purpose and history of the library.
Getting Started
Building
rustcommon is built with the standard Rust toolchain which can be installed and managed via rustup or by following the directions on the Rust website.
Clone and build rustcommon from source
git clone https://github.com/pelikan-io/rustcommon
cd rustcommon
# run tests
cargo test --all
Support
Create a new issue on GitHub.
Authors
- Brian Martin brayniac@gmail.com
A full list of contributors can be found on GitHub.
lib.rs
:
Provides a Waker
trait to allow using the Waker
from mio
or a provided
Waker
that uses eventfd directly (supported only on linux) interchangably.
This is particularly useful in cases where some struct (such as a queue) may
be used with either mio
-based event loops, or with io_uring. The Waker
provided by mio
is not directly usable in io_uring based code due to the
fact that it must be registered to an event loop (such as epoll).
Dependencies
~0.3–9.5MB
~61K SLoC