Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 1.28 KB

File metadata and controls

45 lines (30 loc) · 1.28 KB

Contributing to omq

Getting started

git clone https://github.com/paddor/omq.rs.git
cd omq.rs

MSRV is Rust 1.93, edition 2024. See DEVELOPMENT.md for build, test, fuzz, soak, and benchmark commands.

Making changes

omq-tokio owns the async Socket API. omq-libzmq and pyomq build on top of it.

New socket types, transports, and mechanisms must be added to omq-proto and wired through omq-tokio. See the Architecture section below for where each piece lives.

Before committing:

cargo clippy --workspace --all-targets   # pedantic warnings are enabled
cargo fmt                                # rustfmt.toml: edition 2024, max_width 100

Pull requests

  • Keep PRs focused. One feature or fix per PR.
  • Include tests for new functionality.
  • Update the relevant crate's CHANGELOG.md under the [Unreleased] section. Extend only; never modify existing versioned sections.

Architecture

The codebase uses a three-layer split: a sans-I/O codec (omq-proto), the omq-tokio async I/O backend, and user-facing bindings.

  • doc/architecture.md -- diagrams, two-queue model, transport and mechanism tables, tokio backend internals

License

Contributions are licensed under ISC, the same license as the project.