
AMQP 0-9-1 protocol codec and TCP/TLS connection layer for Rust.
This workspace provides the low-level AMQP 0-9-1 building blocks used by
lapin. It is split into focused sub-crates that can
also be used independently.
Crates in this workspace
Most users should depend on amq-protocol directly — it re-exports everything
and wires up the sub-crates. Depend on a sub-crate only when you need a strict
subset of the functionality.
Feature flags
Async runtime (pick exactly one)
| Flag |
Notes |
tokio (default) |
Requires a running Tokio runtime |
smol |
Uses the smol executor |
async-global-executor |
Uses async-global-executor |
TLS backend (pick at most one)
| Flag |
Notes |
rustls (default) |
TLS via rustls |
native-tls |
TLS via the platform's native library |
openssl |
TLS via OpenSSL |
Rustls certificate store (when rustls is active)
| Flag |
Notes |
rustls-platform-verifier (default) |
Uses the platform trust store |
rustls-native-certs |
Loads native root certificates |
rustls-webpki-roots-certs |
Uses the webpki bundled root set |
Rustls crypto provider (at least one required)
| Flag |
Notes |
rustls--aws_lc_rs (default) |
Uses aws-lc-rs |
rustls--ring |
Uses ring (more portable, e.g. builds on Windows) |
Miscellaneous
| Flag |
Notes |
codegen |
Force protocol code regeneration at build time |
verbose-errors |
More detailed AMQP parser error messages |
hickory-dns |
Hickory DNS resolver (avoids spurious network hangs) |