Skip to main content

Crate zerodds_amqp_0_9_1

Crate zerodds_amqp_0_9_1 

Source
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 — the type/channel/size/payload/0xCE frame 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.