module Crabbit::AMQP::MessageCodec

Overview

Encoder and decoder for complete AMQP 1.0 messages.

Applications generally use Crabbit::Message#to_amqp and Crabbit::Message.from_amqp, which delegate here.

Extended Modules

Defined in:

crabbit/amqp/message_codec.cr

Instance Method Summary

Instance Method Detail

def decode(bytes : Bytes, *, zero_copy : Bool = false) : Message #

Decodes one complete message from bytes.

Binary values are copied unless zero_copy is true. Unknown described sections are preserved in Crabbit::Message#extra_sections.


[View source]
def encode(message : Message, io : IO) : Nil #

Encodes a complete message directly into io.


[View source]
def encode(message : Message) : Bytes #

Encodes a complete message to a newly allocated byte slice.


[View source]
def encode_data(bytes : Bytes) : Bytes #

Encodes bytes as a complete message containing one AMQP Data section.

This fast path avoids constructing an intermediate Crabbit::Message.


[View source]