Expand description
§zerodds-amqp-0-9-1
Crate zerodds-amqp-0-9-1. Safety classification: STANDARD.
AMQP 0.9.1 — the classic, broker-centric class/method protocol that
RabbitMQ speaks by default and that is still >80% of deployed AMQP. This is
an entirely separate protocol from AMQP 1.0 (zerodds-amqp-bridge):
different framing, a different type system (field tables, not described
types), and a broker model baked into the wire (exchanges/queues/bindings,
connection/channel/basic methods).
Layers:
types— big-endian wire types + typed field tables (§4.2.5).frame— thetype/channel/size/payload/0xCEframe format (§4.2.2).method— class/method framing + content properties: connection, channel (open/flow/close), exchange (declare/delete), queue (declare/bind/unbind/purge/delete), basic (publish/get/consume/ack/ reject/nack/qos), confirm (publisher confirms) and tx (transactions).client— a synchronous broker client (std).
no_std + alloc; the client needs std (TCP).
Re-exports§
pub use frame::Frame;pub use frame::FrameType;pub use frame::PROTOCOL_HEADER;pub use method::ContentProperties;pub use types::FieldValue;pub use types::Reader;pub use types::WireError;pub use types::Writer;pub use types::pack_bits;
Modules§
- client
- A synchronous AMQP 0.9.1 broker client (RabbitMQ-compatible).
- frame
- AMQP 0.9.1 frame format (§4.2.2). Every frame after the protocol header is:
- method
- AMQP 0.9.1 class/method framing (§1.4–1.8). A method-frame payload is
[class-id:short][method-id:short][arguments…]. This module provides the builders/parsers for the subset a publish/consume client needs. - types
- AMQP 0.9.1 wire types (§4.2). All multi-byte integers are big-endian. These are the building blocks of method arguments and field tables — an entirely different type system from AMQP 1.0’s described types.