Net::AMQP::Protocol::v0_8(3)

NAME
Net::AMQP::Protocol::v0_8 - AMQP v0.8 (de)serialization and representation

SYNOPSIS
  use Net::AMQP::Protocol::v0_8;

  ...

  my @frames = Net::AMQP->parse_raw_frames(\$input);

  ...

  my $frame = Net::AMQP::Frame::Method->new(
      channel => 0,
      method_frame => Net::AMQP::Protocol::Connection::StartOk->new(
          client_properties => { ... },
          mechanism         => 'AMQPLAIN',
          locale            => 'en_US',
          response          => {
              LOGIN    => 'guest',
              PASSWORD => 'guest',
          },
      ),
  );

  print OUT $frame->to_raw_frame();

DESCRIPTION
This module implements the frame (de)serialization and representation of the Advanced Message Queue Protocol (http://www.amqp.org/) version 0.8.

It is to be used in conjunction with client or server software that does the actual TCP/IP communication.

PROTOCOL CLASSES

  Net::AMQP::Protocol::Connection::Start
This class implements the class Connection method Start, which is a synchronous method.

This method starts the connection negotiation process by telling the client the protocol version that the server proposes, along with a list of security mechanisms which the client can use for authentication.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

version_major (type: octet)
    Protocol major version

    The protocol major version that the server agrees to use, which cannot be higher than the client's major version.

version_minor (type: octet)
    Protocol major version

    The protocol minor version that the server agrees to use, which cannot be higher than the client's minor version.

server_properties (type: table)
    Server properties

mechanisms (type: longstr)
    Available security mechanisms

    A list of the security mechanisms that the server supports, delimited by spaces. Currently ASL supports these mechanisms: PLAIN.

locales (type: longstr)
    Available message locales

    A list of the message locales that the server supports, delimited by spaces. The locale defines the language in which the server will send reply texts.

  Net::AMQP::Protocol::Connection::StartOk
This class implements the class Connection method StartOk, which is a synchronous method.

This method selects a SASL security mechanism. ASL uses SASL (RFC2222) to negotiate authentication and encryption.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

client_properties (type: table)
    Client properties

mechanism (type: shortstr)
    Selected security mechanism

    A single security mechanisms selected by the client, which must be one of those specified by the server.

response (type: longstr)
    Security response data

    A block of opaque data passed to the security mechanism. The contents of this data are defined by the SASL security mechanism. For the PLAIN security mechanism this is defined as a field table holding two fields, LOGIN and PASSWORD.

locale (type: shortstr)
    Selected message locale

    A single message local selected by the client, which must be one of those specified by the server.

  Net::AMQP::Protocol::Connection::Secure
This class implements the class Connection method Secure, which is a synchronous method.

The SASL protocol works by exchanging challenges and responses until both peers have received sufficient information to authenticate each other. This method challenges the client to provide more information.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

challenge (type: longstr)
    Security challenge data

    Challenge information, a block of opaque binary data passed to the security mechanism.

  Net::AMQP::Protocol::Connection::SecureOk
This class implements the class Connection method SecureOk, which is a synchronous method.

This method attempts to authenticate, passing a block of SASL data for the security mechanism at the server side.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

response (type: longstr)
    Security response data

    A block of opaque data passed to the security mechanism. The contents of this data are defined by the SASL security mechanism.

  Net::AMQP::Protocol::Connection::Tune
This class implements the class Connection method Tune, which is a synchronous method.

This method proposes a set of connection configuration values to the client. The client can accept and/or adjust these.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

channel_max (type: short)
    Proposed maximum channels

    The maximum total number of channels that the server allows per connection. Zero means that the server does not impose a fixed limit, but the number of allowed channels may be limited by available server resources.

frame_max (type: long)
    Proposed maximum frame size

    The largest frame size that the server proposes for the connection. The client can negotiate a lower value. Zero means that the server does not impose any specific limit but may reject very large frames if it cannot allocate resources for them.

heartbeat (type: short)
    Desired heartbeat delay

    The delay, in seconds, of the connection heartbeat that the server wants. Zero means the server does not want a heartbeat.

  Net::AMQP::Protocol::Connection::TuneOk
This class implements the class Connection method TuneOk, which is a synchronous method.

This method sends the client's connection tuning parameters to the server. Certain fields are negotiated, others provide capability information.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

channel_max (type: short)
    Negotiated maximum channels

    The maximum total number of channels that the client will use per connection. May not be higher than the value specified by the server.

frame_max (type: long)
    Negotiated maximum frame size

    The largest frame size that the client and server will use for the connection. Zero means that the client does not impose any specific limit but may reject very large frames if it cannot allocate resources for them. Note that the frame-max limit applies principally to content frames, where large contents can be broken into frames of arbitrary size.

heartbeat (type: short)
    Desired heartbeat delay

    The delay, in seconds, of the connection heartbeat that the client wants. Zero means the client does not want a heartbeat.

  Net::AMQP::Protocol::Connection::Open
This class implements the class Connection method Open, which is a synchronous method.

This method opens a connection to a virtual host, which is a collection of resources, and acts to separate multiple application domains within a server.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

virtual_host (type: shortstr)
    Virtual host name

    The name of the virtual host to work with.

capabilities (type: shortstr)
    Required capabilities

    The client may specify a number of capability names, delimited by spaces. The server can use this string to how to process the client's connection request.

insist (type: bit)
    Insist on connecting to server

    In a configuration with multiple load-sharing servers, the server may respond to a Connection.Open method with a Connection.Redirect. The insist option tells the server that the client is insisting on a connection to the specified server.

  Net::AMQP::Protocol::Connection::OpenOk
This class implements the class Connection method OpenOk, which is a synchronous method.

This method signals to the client that the connection is ready for use.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

known_hosts (type: shortstr)

  Net::AMQP::Protocol::Connection::Redirect
This class implements the class Connection method Redirect, which is a synchronous method.

This method redirects the client to another server, based on the requested virtual host and/or capabilities.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

host (type: shortstr)
    Server to connect to

    Specifies the server to connect to. This is an IP address or a DNS name, optionally followed by a colon and a port number. If no port number is specified, the client should use the default port number for the protocol.

known_hosts (type: shortstr)

  Net::AMQP::Protocol::Connection::Close
This class implements the class Connection method Close, which is a synchronous method.

This method indicates that the sender wants to close the connection. This may be due to internal conditions (e.g. a forced shut-down) or due to an error handling a specific method, i.e. an exception. When a close is due to an exception, the sender provides the class and method id of the method which caused the exception.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
class_id (type: short)
    Failing method class

    When the close is provoked by a method exception, this is the class of the method.

method_id (type: short)
    Failing method ID

    When the close is provoked by a method exception, this is the ID of the method.

  Net::AMQP::Protocol::Connection::CloseOk
This class implements the class Connection method CloseOk, which is a synchronous method.

This method confirms a Connection.Close method and tells the recipient that it is safe to release resources for the connection and close the socket.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Channel::Open
This class implements the class Channel method Open, which is a synchronous method.

This method opens a virtual connection (a channel).

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

out_of_band (type: shortstr)
    Out-of-band settings

    Configures out-of-band transfers on this channel. The syntax and meaning of this field will be formally defined at a later date.

  Net::AMQP::Protocol::Channel::OpenOk
This class implements the class Channel method OpenOk, which is a synchronous method.

This method signals to the client that the channel is ready for use.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Channel::Flow
This class implements the class Channel method Flow, which is a synchronous method.

This method asks the peer to pause or restart the flow of content data. This is a simple flow-control mechanism that a peer can use to avoid oveflowing its queues or otherwise finding itself receiving more messages than it can process. Note that this method is not intended for window control. The peer that receives a request to stop sending content should finish sending the current content, if any, and then wait until it receives a Flow restart method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

active (type: bit)
    Start/stop content frames

    If 1, the peer starts sending content frames. If 0, the peer stops sending content frames.

  Net::AMQP::Protocol::Channel::FlowOk
This class implements the class Channel method FlowOk, which is an asynchronous method.

Confirms to the peer that a flow command was received and processed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

active (type: bit)
    Current flow setting

    Confirms the setting of the processed flow method: 1 means the peer will start sending or continue to send content frames; 0 means it will not.

  Net::AMQP::Protocol::Channel::Alert
This class implements the class Channel method Alert, which is an asynchronous method.

This method allows the server to send a non-fatal warning to the client. This is used for methods that are normally asynchronous and thus do not have confirmations, and for which the server may detect errors that need to be reported. Fatal errors are handled as channel or connection exceptions; non-fatal errors are sent through this method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
details (type: table)
    Detailed information for warning

    A set of fields that provide more information about the problem. The meaning of these fields are defined on a per-reply-code basis (TO BE DEFINED).

  Net::AMQP::Protocol::Channel::Close
This class implements the class Channel method Close, which is a synchronous method.

This method indicates that the sender wants to close the channel. This may be due to internal conditions (e.g. a forced shut-down) or due to an error handling a specific method, i.e. an exception. When a close is due to an exception, the sender provides the class and method id of the method which caused the exception.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
class_id (type: short)
    Failing method class

    When the close is provoked by a method exception, this is the class of the method.

method_id (type: short)
    Failing method ID

    When the close is provoked by a method exception, this is the ID of the method.

  Net::AMQP::Protocol::Channel::CloseOk
This class implements the class Channel method CloseOk, which is a synchronous method.

This method confirms a Channel.Close method and tells the recipient that it is safe to release resources for the channel and close the socket.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Access::Request
This class implements the class Access method Request, which is a synchronous method.

This method requests an access ticket for an access realm. The server responds by granting the access ticket. If the client does not have access rights to the requested realm this causes a connection exception. Access tickets are a per-channel resource.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

realm (type: shortstr)
    Name of requested realm

exclusive (type: bit)
    Request exclusive access

    Request exclusive access to the realm. If the server cannot grant this - because there are other active tickets for the realm - it raises a channel exception.

passive (type: bit)
    Request passive access

    Request message passive access to the specified access realm. Passive access lets a client get information about resources in the realm but not to make any changes to them.

active (type: bit)
    Request active access

    Request message active access to the specified access realm. Acvtive access lets a client get create and delete resources in the realm.

write (type: bit)
    Request write access

    Request write access to the specified access realm. Write access lets a client publish messages to all exchanges in the realm.

read (type: bit)
    Request read access

    Request read access to the specified access realm. Read access lets a client consume messages from queues in the realm.

  Net::AMQP::Protocol::Access::RequestOk
This class implements the class Access method RequestOk, which is a synchronous method.

This method provides the client with an access ticket. The access ticket is valid within the current channel and for the lifespan of the channel.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)

  Net::AMQP::Protocol::Exchange::Declare
This class implements the class Exchange method Declare, which is a synchronous method.

This method creates an exchange if it does not already exist, and if the exchange exists, verifies that it is of the correct and expected class.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
    When a client defines a new exchange, this belongs to the access realm of the ticket used. All further work done with that exchange must be done with an access ticket for the same realm.

exchange (type: shortstr)
type (type: shortstr)
    Exchange type

    Each exchange belongs to one of a set of exchange types implemented by the server. The exchange types define the functionality of the exchange - i.e. how messages are routed through it. It is not valid or meaningful to attempt to change the type of an existing exchange.

passive (type: bit)
    Do not create exchange

    If set, the server will not create the exchange. The client can use this to check whether an exchange exists without modifying the server state.

durable (type: bit)
    Request a durable exchange

    If set when creating a new exchange, the exchange will be marked as durable. Durable exchanges remain active when a server restarts. Non-durable exchanges (transient exchanges) are purged if/when a server restarts.

auto_delete (type: bit)
    Auto-delete when unused

    If set, the exchange is deleted when all queues have finished using it.

internal (type: bit)
    Create internal exchange

    If set, the exchange may not be used directly by publishers, but only when bound to other exchanges. Internal exchanges are used to construct wiring that is not visible to applications.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

arguments (type: table)
    Arguments for declaration

    A set of arguments for the declaration. The syntax and semantics of these arguments depends on the server implementation. This field is ignored if passive is 1.

  Net::AMQP::Protocol::Exchange::DeclareOk
This class implements the class Exchange method DeclareOk, which is a synchronous method.

This method confirms a Declare method and confirms the name of the exchange, essential for automatically-named exchanges.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Exchange::Delete
This class implements the class Exchange method Delete, which is a synchronous method.

This method deletes an exchange. When an exchange is deleted all queue bindings on the exchange are cancelled.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
exchange (type: shortstr)
if_unused (type: bit)
    Delete only if unused

    If set, the server will only delete the exchange if it has no queue bindings. If the exchange has queue bindings the server does not delete it but raises a channel exception instead.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Exchange::DeleteOk
This class implements the class Exchange method DeleteOk, which is a synchronous method.

This method confirms the deletion of an exchange.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Queue::Declare
This class implements the class Queue method Declare, which is a synchronous method.

This method creates or checks a queue. When creating a new queue the client can specify various properties that control the durability of the queue and its contents, and the level of sharing for the queue.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
    When a client defines a new queue, this belongs to the access realm of the ticket used. All further work done with that queue must be done with an access ticket for the same realm.

    The client provides a valid access ticket giving "active" access to the realm in which the queue exists or will be created, or "passive" access if the if-exists flag is set.

queue (type: shortstr)
passive (type: bit)
    Do not create queue

    If set, the server will not create the queue. The client can use this to check whether a queue exists without modifying the server state.

durable (type: bit)
    Request a durable queue

    If set when creating a new queue, the queue will be marked as durable. Durable queues remain active when a server restarts. Non-durable queues (transient queues) are purged if/when a server restarts. Note that durable queues do not necessarily hold persistent messages, although it does not make sense to send persistent messages to a transient queue.

exclusive (type: bit)
    Request an exclusive queue

    Exclusive queues may only be consumed from by the current connection. Setting the 'exclusive' flag always implies 'auto-delete'.

auto_delete (type: bit)
    Auto-delete queue when unused

    If set, the queue is deleted when all consumers have finished using it. Last consumer can be cancelled either explicitly or because its channel is closed. If there was no consumer ever on the queue, it won't be deleted.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

arguments (type: table)
    Arguments for declaration

    A set of arguments for the declaration. The syntax and semantics of these arguments depends on the server implementation. This field is ignored if passive is 1.

  Net::AMQP::Protocol::Queue::DeclareOk
This class implements the class Queue method DeclareOk, which is a synchronous method.

This method confirms a Declare method and confirms the name of the queue, essential for automatically-named queues.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

queue (type: shortstr)
    Reports the name of the queue. If the server generated a queue name, this field contains that name.

message_count (type: long)
    Number of messages in queue

    Reports the number of messages in the queue, which will be zero for newly-created queues.

consumer_count (type: long)
    Number of consumers

    Reports the number of active consumers for the queue. Note that consumers can suspend activity (Channel.Flow) in which case they do not appear in this count.

  Net::AMQP::Protocol::Queue::Bind
This class implements the class Queue method Bind, which is a synchronous method.

This method binds a queue to an exchange. Until a queue is bound it will not receive any messages. In a classic messaging model, store-and-forward queues are bound to a dest exchange and subscription queues are bound to a dest_wild exchange.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
    The client provides a valid access ticket giving "active" access rights to the queue's access realm.

queue (type: shortstr)
    Specifies the name of the queue to bind. If the queue name is empty, refers to the current queue for the channel, which is the last declared queue.

exchange (type: shortstr)
    The name of the exchange to bind to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key for the binding. The routing key is used for routing messages depending on the exchange configuration. Not all exchanges use a routing key - refer to the specific exchange documentation. If the routing key is empty and the queue name is empty, the routing key will be the current queue for the channel, which is the last declared queue.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

arguments (type: table)
    Arguments for binding

    A set of arguments for the binding. The syntax and semantics of these arguments depends on the exchange class.

  Net::AMQP::Protocol::Queue::BindOk
This class implements the class Queue method BindOk, which is a synchronous method.

This method confirms that the bind was successful.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Queue::Purge
This class implements the class Queue method Purge, which is a synchronous method.

This method removes all messages from a queue. It does not cancel consumers. Purged messages are deleted without any formal "undo" mechanism.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
    The access ticket must be for the access realm that holds the queue.

queue (type: shortstr)
    Specifies the name of the queue to purge. If the queue name is empty, refers to the current queue for the channel, which is the last declared queue.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Queue::PurgeOk
This class implements the class Queue method PurgeOk, which is a synchronous method.

This method confirms the purge of a queue.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

message_count (type: long)
    Number of messages purged

    Reports the number of messages purged.

  Net::AMQP::Protocol::Queue::Delete
This class implements the class Queue method Delete, which is a synchronous method.

This method deletes a queue. When a queue is deleted any pending messages are sent to a dead-letter queue if this is defined in the server configuration, and all consumers on the queue are cancelled.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
    The client provides a valid access ticket giving "active" access rights to the queue's access realm.

queue (type: shortstr)
    Specifies the name of the queue to delete. If the queue name is empty, refers to the current queue for the channel, which is the last declared queue.

if_unused (type: bit)
    Delete only if unused

    If set, the server will only delete the queue if it has no consumers. If the queue has consumers the server does does not delete it but raises a channel exception instead.

if_empty (type: bit)
    Delete only if empty

    If set, the server will only delete the queue if it has no messages. If the queue is not empty the server raises a channel exception.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Queue::DeleteOk
This class implements the class Queue method DeleteOk, which is a synchronous method.

This method confirms the deletion of a queue.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

message_count (type: long)
    Number of messages purged

    Reports the number of messages purged.

  Net::AMQP::Protocol::Basic::Qos
This class implements the class Basic method Qos, which is a synchronous method.

This method requests a specific quality of service. The QoS can be specified for the current channel or for all channels on the connection. The particular properties and semantics of a qos method always depend on the content class semantics. Though the qos method could in principle apply to both peers, it is currently meaningful only for the server.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

prefetch_size (type: long)
    Prefetch window in octets

    The client can request that messages be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement. This field specifies the prefetch window size in octets. The server will send a message in advance if it is equal to or smaller in size than the available prefetch size (and also falls into other prefetch limits). May be set to zero, meaning "no specific limit", although other prefetch limits may still apply. The prefetch-size is ignored if the no-ack option is set.

prefetch_count (type: short)
    Prefetch window in messages

    Specifies a prefetch window in terms of whole messages. This field may be used in combination with the prefetch-size field; a message will only be sent in advance if both prefetch windows (and those at the channel and connection level) allow it. The prefetch-count is ignored if the no-ack option is set.

global (type: bit)
    Apply to entire connection

    By default the QoS settings apply to the current channel only. If this field is set, they are applied to the entire connection.

  Net::AMQP::Protocol::Basic::QosOk
This class implements the class Basic method QosOk, which is a synchronous method.

This method tells the client that the requested QoS levels could be handled by the server. The requested QoS applies to all active consumers until a new QoS is defined.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Basic::Consume
This class implements the class Basic method Consume, which is a synchronous method.

This method asks the server to start a "consumer", which is a transient request for messages from a specific queue. Consumers last as long as the channel they were created on, or until the client cancels them.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
queue (type: shortstr)
    Specifies the name of the queue to consume from. If the queue name is null, refers to the current queue for the channel, which is the last declared queue.

consumer_tag (type: shortstr)
    Specifies the identifier for the consumer. The consumer tag is local to a connection, so two clients can use the same consumer tags. If this field is empty the server will generate a unique tag.

no_local (type: bit)
no_ack (type: bit)
exclusive (type: bit)
    Request exclusive access

    Request exclusive consumer access, meaning only this consumer can access the queue.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Basic::ConsumeOk
This class implements the class Basic method ConsumeOk, which is a synchronous method.

The server provides the client with a consumer tag, which is used by the client for methods called on the consumer at a later stage.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
    Holds the consumer tag specified by the client or provided by the server.

  Net::AMQP::Protocol::Basic::Cancel
This class implements the class Basic method Cancel, which is a synchronous method.

This method cancels a consumer. This does not affect already delivered messages, but it does mean the server will not send any more messages for that consumer. The client may receive an abitrary number of messages in between sending the cancel method and receiving the cancel-ok reply.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Basic::CancelOk
This class implements the class Basic method CancelOk, which is a synchronous method.

This method confirms that the cancellation was completed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)

  Net::AMQP::Protocol::Basic::Publish
This class implements the class Basic method Publish, which is an asynchronous method.

This method publishes a message to a specific exchange. The message will be routed to queues as defined by the exchange configuration and distributed to any active consumers when the transaction, if any, is committed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
exchange (type: shortstr)
    Specifies the name of the exchange to publish to. The exchange name can be empty, meaning the default exchange. If the exchange name is specified, and that exchange does not exist, the server will raise a channel exception.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key for the message. The routing key is used for routing messages depending on the exchange configuration.

mandatory (type: bit)
    Indicate mandatory routing

    This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.

immediate (type: bit)
    Request immediate delivery

    This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.

  Net::AMQP::Protocol::Basic::Return
This class implements the class Basic method Return, which is an asynchronous method.

This method returns an undeliverable message that was published with the "immediate" flag set, or an unroutable message published with the "mandatory" flag set. The reply code and text provide information about the reason that the message was undeliverable.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

  Net::AMQP::Protocol::Basic::Deliver
This class implements the class Basic method Deliver, which is an asynchronous method.

This method delivers a message to the client, via a consumer. In the asynchronous message delivery model, the client starts a consumer using the Consume method, then the server responds with Deliver methods as and when messages arrive for that consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
delivery_tag (type: longlong)
redelivered (type: bit)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

  Net::AMQP::Protocol::Basic::Get
This class implements the class Basic method Get, which is a synchronous method.

This method provides a direct access to the messages in a queue using a synchronous dialogue that is designed for specific types of application where synchronous functionality is more important than performance.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
queue (type: shortstr)
    Specifies the name of the queue to consume from. If the queue name is null, refers to the current queue for the channel, which is the last declared queue.

no_ack (type: bit)

  Net::AMQP::Protocol::Basic::GetOk
This class implements the class Basic method GetOk, which is a synchronous method.

This method delivers a message to the client following a get method. A message delivered by 'get-ok' must be acknowledged unless the no-ack option was set in the get method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

delivery_tag (type: longlong)
redelivered (type: bit)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to. If empty, the message was published to the default exchange.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

message_count (type: long)
    Number of messages pending

    This field reports the number of messages pending on the queue, excluding the message being delivered. Note that this figure is indicative, not reliable, and can change arbitrarily as messages are added to the queue and removed by other clients.

  Net::AMQP::Protocol::Basic::GetEmpty
This class implements the class Basic method GetEmpty, which is a synchronous method.

This method tells the client that the queue has no messages available for the client.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

cluster_id (type: shortstr)
    Cluster id

    For use by cluster applications, should not be used by client applications.

  Net::AMQP::Protocol::Basic::Ack
This class implements the class Basic method Ack, which is an asynchronous method.

This method acknowledges one or more messages delivered via the Deliver or Get-Ok methods. The client can ask to confirm a single message or a set of messages up to and including a specific message.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

delivery_tag (type: longlong)
multiple (type: bit)
    Acknowledge multiple messages

    If set to 1, the delivery tag is treated as "up to and including", so that the client can acknowledge multiple messages with a single method. If set to zero, the delivery tag refers to a single message. If the multiple field is 1, and the delivery tag is zero, tells the server to acknowledge all outstanding mesages.

  Net::AMQP::Protocol::Basic::Reject
This class implements the class Basic method Reject, which is an asynchronous method.

This method allows a client to reject a message. It can be used to interrupt and cancel large incoming messages, or return untreatable messages to their original queue.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

delivery_tag (type: longlong)
requeue (type: bit)
    Requeue the message

    If this field is zero, the message will be discarded. If this bit is 1, the server will attempt to requeue the message.

  Net::AMQP::Protocol::Basic::Recover
This class implements the class Basic method Recover, which is an asynchronous method.

This method asks the broker to redeliver all unacknowledged messages on a specifieid channel. Zero or more messages may be redelivered.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

requeue (type: bit)
    Requeue the message

    If this field is zero, the message will be redelivered to the original recipient. If this bit is 1, the server will attempt to requeue the message, potentially then delivering it to an alternative subscriber.

  Net::AMQP::Protocol::Basic::ContentHeader
This class implements the class Basic method ContentHeader, which is an asynchronous method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

content_type (type: shortstr)
content_encoding (type: shortstr)
headers (type: table)
delivery_mode (type: octet)
priority (type: octet)
correlation_id (type: shortstr)
reply_to (type: shortstr)
expiration (type: shortstr)
message_id (type: shortstr)
timestamp (type: timestamp)
type (type: shortstr)
user_id (type: shortstr)
app_id (type: shortstr)
cluster_id (type: shortstr)

  Net::AMQP::Protocol::File::Qos
This class implements the class File method Qos, which is a synchronous method.

This method requests a specific quality of service. The QoS can be specified for the current channel or for all channels on the connection. The particular properties and semantics of a qos method always depend on the content class semantics. Though the qos method could in principle apply to both peers, it is currently meaningful only for the server.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

prefetch_size (type: long)
    Prefetch window in octets

    The client can request that messages be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement. This field specifies the prefetch window size in octets. May be set to zero, meaning "no specific limit". Note that other prefetch limits may still apply. The prefetch-size is ignored if the no-ack option is set.

prefetch_count (type: short)
    Prefetch window in messages

    Specifies a prefetch window in terms of whole messages. This is compatible with some file API implementations. This field may be used in combination with the prefetch-size field; a message will only be sent in advance if both prefetch windows (and those at the channel and connection level) allow it. The prefetch-count is ignored if the no-ack option is set.

global (type: bit)
    Apply to entire connection

    By default the QoS settings apply to the current channel only. If this field is set, they are applied to the entire connection.

  Net::AMQP::Protocol::File::QosOk
This class implements the class File method QosOk, which is a synchronous method.

This method tells the client that the requested QoS levels could be handled by the server. The requested QoS applies to all active consumers until a new QoS is defined.

This class has no fields nor accessors.

  Net::AMQP::Protocol::File::Consume
This class implements the class File method Consume, which is a synchronous method.

This method asks the server to start a "consumer", which is a transient request for messages from a specific queue. Consumers last as long as the channel they were created on, or until the client cancels them.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
queue (type: shortstr)
    Specifies the name of the queue to consume from. If the queue name is null, refers to the current queue for the channel, which is the last declared queue.

consumer_tag (type: shortstr)
    Specifies the identifier for the consumer. The consumer tag is local to a connection, so two clients can use the same consumer tags. If this field is empty the server will generate a unique tag.

no_local (type: bit)
no_ack (type: bit)
exclusive (type: bit)
    Request exclusive access

    Request exclusive consumer access, meaning only this consumer can access the queue.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::File::ConsumeOk
This class implements the class File method ConsumeOk, which is a synchronous method.

This method provides the client with a consumer tag which it MUST use in methods that work with the consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
    Holds the consumer tag specified by the client or provided by the server.

  Net::AMQP::Protocol::File::Cancel
This class implements the class File method Cancel, which is a synchronous method.

This method cancels a consumer. This does not affect already delivered messages, but it does mean the server will not send any more messages for that consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::File::CancelOk
This class implements the class File method CancelOk, which is a synchronous method.

This method confirms that the cancellation was completed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)

  Net::AMQP::Protocol::File::Open
This class implements the class File method Open, which is a synchronous method.

This method requests permission to start staging a message. Staging means sending the message into a temporary area at the recipient end and then delivering the message by referring to this temporary area. Staging is how the protocol handles partial file transfers - if a message is partially staged and the connection breaks, the next time the sender starts to stage it, it can restart from where it left off.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

identifier (type: shortstr)
    Staging identifier

    This is the staging identifier. This is an arbitrary string chosen by the sender. For staging to work correctly the sender must use the same staging identifier when staging the same message a second time after recovery from a failure. A good choice for the staging identifier would be the SHA1 hash of the message properties data (including the original filename, revised time, etc.).

content_size (type: longlong)
    Message content size

    The size of the content in octets. The recipient may use this information to allocate or check available space in advance, to avoid "disk full" errors during staging of very large messages.

  Net::AMQP::Protocol::File::OpenOk
This class implements the class File method OpenOk, which is a synchronous method.

This method confirms that the recipient is ready to accept staged data. If the message was already partially-staged at a previous time the recipient will report the number of octets already staged.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

staged_size (type: longlong)
    Already staged amount

    The amount of previously-staged content in octets. For a new message this will be zero.

  Net::AMQP::Protocol::File::Stage
This class implements the class File method Stage, which is an asynchronous method.

This method stages the message, sending the message content to the recipient from the octet offset specified in the Open-Ok method.

This class has no fields nor accessors.

  Net::AMQP::Protocol::File::Publish
This class implements the class File method Publish, which is an asynchronous method.

This method publishes a staged file message to a specific exchange. The file message will be routed to queues as defined by the exchange configuration and distributed to any active consumers when the transaction, if any, is committed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
exchange (type: shortstr)
    Specifies the name of the exchange to publish to. The exchange name can be empty, meaning the default exchange. If the exchange name is specified, and that exchange does not exist, the server will raise a channel exception.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key for the message. The routing key is used for routing messages depending on the exchange configuration.

mandatory (type: bit)
    Indicate mandatory routing

    This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.

immediate (type: bit)
    Request immediate delivery

    This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.

identifier (type: shortstr)
    Staging identifier

    This is the staging identifier of the message to publish. The message must have been staged. Note that a client can send the Publish method asynchronously without waiting for staging to finish.

  Net::AMQP::Protocol::File::Return
This class implements the class File method Return, which is an asynchronous method.

This method returns an undeliverable message that was published with the "immediate" flag set, or an unroutable message published with the "mandatory" flag set. The reply code and text provide information about the reason that the message was undeliverable.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

  Net::AMQP::Protocol::File::Deliver
This class implements the class File method Deliver, which is an asynchronous method.

This method delivers a staged file message to the client, via a consumer. In the asynchronous message delivery model, the client starts a consumer using the Consume method, then the server responds with Deliver methods as and when messages arrive for that consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
delivery_tag (type: longlong)
redelivered (type: bit)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

identifier (type: shortstr)
    Staging identifier

    This is the staging identifier of the message to deliver. The message must have been staged. Note that a server can send the Deliver method asynchronously without waiting for staging to finish.

  Net::AMQP::Protocol::File::Ack
This class implements the class File method Ack, which is an asynchronous method.

This method acknowledges one or more messages delivered via the Deliver method. The client can ask to confirm a single message or a set of messages up to and including a specific message.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

delivery_tag (type: longlong)
multiple (type: bit)
    Acknowledge multiple messages

    If set to 1, the delivery tag is treated as "up to and including", so that the client can acknowledge multiple messages with a single method. If set to zero, the delivery tag refers to a single message. If the multiple field is 1, and the delivery tag is zero, tells the server to acknowledge all outstanding mesages.

  Net::AMQP::Protocol::File::Reject
This class implements the class File method Reject, which is an asynchronous method.

This method allows a client to reject a message. It can be used to return untreatable messages to their original queue. Note that file content is staged before delivery, so the client will not use this method to interrupt delivery of a large message.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

delivery_tag (type: longlong)
requeue (type: bit)
    Requeue the message

    If this field is zero, the message will be discarded. If this bit is 1, the server will attempt to requeue the message.

  Net::AMQP::Protocol::File::ContentHeader
This class implements the class File method ContentHeader, which is an asynchronous method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

content_type (type: shortstr)
content_encoding (type: shortstr)
headers (type: table)
priority (type: octet)
reply_to (type: shortstr)
message_id (type: shortstr)
filename (type: shortstr)
timestamp (type: timestamp)
cluster_id (type: shortstr)

  Net::AMQP::Protocol::Stream::Qos
This class implements the class Stream method Qos, which is a synchronous method.

This method requests a specific quality of service. The QoS can be specified for the current channel or for all channels on the connection. The particular properties and semantics of a qos method always depend on the content class semantics. Though the qos method could in principle apply to both peers, it is currently meaningful only for the server.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

prefetch_size (type: long)
    Prefetch window in octets

    The client can request that messages be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement. This field specifies the prefetch window size in octets. May be set to zero, meaning "no specific limit". Note that other prefetch limits may still apply.

prefetch_count (type: short)
    Prefetch window in messages

    Specifies a prefetch window in terms of whole messages. This field may be used in combination with the prefetch-size field; a message will only be sent in advance if both prefetch windows (and those at the channel and connection level) allow it.

consume_rate (type: long)
    Transfer rate in octets/second

    Specifies a desired transfer rate in octets per second. This is usually determined by the application that uses the streaming data. A value of zero means "no limit", i.e. as rapidly as possible.

global (type: bit)
    Apply to entire connection

    By default the QoS settings apply to the current channel only. If this field is set, they are applied to the entire connection.

  Net::AMQP::Protocol::Stream::QosOk
This class implements the class Stream method QosOk, which is a synchronous method.

This method tells the client that the requested QoS levels could be handled by the server. The requested QoS applies to all active consumers until a new QoS is defined.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Stream::Consume
This class implements the class Stream method Consume, which is a synchronous method.

This method asks the server to start a "consumer", which is a transient request for messages from a specific queue. Consumers last as long as the channel they were created on, or until the client cancels them.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
queue (type: shortstr)
    Specifies the name of the queue to consume from. If the queue name is null, refers to the current queue for the channel, which is the last declared queue.

consumer_tag (type: shortstr)
    Specifies the identifier for the consumer. The consumer tag is local to a connection, so two clients can use the same consumer tags. If this field is empty the server will generate a unique tag.

no_local (type: bit)
exclusive (type: bit)
    Request exclusive access

    Request exclusive consumer access, meaning only this consumer can access the queue.

nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Stream::ConsumeOk
This class implements the class Stream method ConsumeOk, which is a synchronous method.

This method provides the client with a consumer tag which it may use in methods that work with the consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
    Holds the consumer tag specified by the client or provided by the server.

  Net::AMQP::Protocol::Stream::Cancel
This class implements the class Stream method Cancel, which is a synchronous method.

This method cancels a consumer. Since message delivery is asynchronous the client may continue to receive messages for a short while after canceling a consumer. It may process or discard these as appropriate.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
nowait (type: bit)
    Do not send a reply method

    If set, the server will not respond to the method. The client should not wait for a reply method. If the server could not complete the method it will raise a channel or connection exception.

  Net::AMQP::Protocol::Stream::CancelOk
This class implements the class Stream method CancelOk, which is a synchronous method.

This method confirms that the cancellation was completed.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)

  Net::AMQP::Protocol::Stream::Publish
This class implements the class Stream method Publish, which is an asynchronous method.

This method publishes a message to a specific exchange. The message will be routed to queues as defined by the exchange configuration and distributed to any active consumers as appropriate.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

ticket (type: short)
exchange (type: shortstr)
    Specifies the name of the exchange to publish to. The exchange name can be empty, meaning the default exchange. If the exchange name is specified, and that exchange does not exist, the server will raise a channel exception.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key for the message. The routing key is used for routing messages depending on the exchange configuration.

mandatory (type: bit)
    Indicate mandatory routing

    This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.

immediate (type: bit)
    Request immediate delivery

    This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.

  Net::AMQP::Protocol::Stream::Return
This class implements the class Stream method Return, which is an asynchronous method.

This method returns an undeliverable message that was published with the "immediate" flag set, or an unroutable message published with the "mandatory" flag set. The reply code and text provide information about the reason that the message was undeliverable.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

reply_code (type: short)
reply_text (type: shortstr)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

routing_key (type: shortstr)
    Message routing key

    Specifies the routing key name specified when the message was published.

  Net::AMQP::Protocol::Stream::Deliver
This class implements the class Stream method Deliver, which is an asynchronous method.

This method delivers a message to the client, via a consumer. In the asynchronous message delivery model, the client starts a consumer using the Consume method, then the server responds with Deliver methods as and when messages arrive for that consumer.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

consumer_tag (type: shortstr)
delivery_tag (type: longlong)
exchange (type: shortstr)
    Specifies the name of the exchange that the message was originally published to.

queue (type: shortstr)
    Specifies the name of the queue that the message came from. Note that a single channel can start many consumers on different queues.

  Net::AMQP::Protocol::Stream::ContentHeader
This class implements the class Stream method ContentHeader, which is an asynchronous method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

content_type (type: shortstr)
content_encoding (type: shortstr)
headers (type: table)
priority (type: octet)
timestamp (type: timestamp)

  Net::AMQP::Protocol::Tx::Select
This class implements the class Tx method Select, which is a synchronous method.

This method sets the channel to use standard transactions. The client must use this method at least once on a channel before using the Commit or Rollback methods.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tx::SelectOk
This class implements the class Tx method SelectOk, which is a synchronous method.

This method confirms to the client that the channel was successfully set to use standard transactions.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tx::Commit
This class implements the class Tx method Commit, which is a synchronous method.

This method commits all messages published and acknowledged in the current transaction. A new transaction starts immediately after a commit.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tx::CommitOk
This class implements the class Tx method CommitOk, which is a synchronous method.

This method confirms to the client that the commit succeeded. Note that if a commit fails, the server raises a channel exception.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tx::Rollback
This class implements the class Tx method Rollback, which is a synchronous method.

This method abandons all messages published and acknowledged in the current transaction. A new transaction starts immediately after a rollback.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tx::RollbackOk
This class implements the class Tx method RollbackOk, which is a synchronous method.

This method confirms to the client that the rollback succeeded. Note that if an rollback fails, the server raises a channel exception.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Dtx::Select
This class implements the class Dtx method Select, which is a synchronous method.

This method sets the channel to use distributed transactions. The client must use this method at least once on a channel before using the Start method.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Dtx::SelectOk
This class implements the class Dtx method SelectOk, which is a synchronous method.

This method confirms to the client that the channel was successfully set to use distributed transactions.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Dtx::Start
This class implements the class Dtx method Start, which is a synchronous method.

This method starts a new distributed transaction. This must be the first method on a new channel that uses the distributed transaction mode, before any methods that publish or consume messages.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

dtx_identifier (type: shortstr)
    Transaction identifier

    The distributed transaction key. This identifies the transaction so that the AMQP server can coordinate with the distributed transaction coordinator.

  Net::AMQP::Protocol::Dtx::StartOk
This class implements the class Dtx method StartOk, which is a synchronous method.

This method confirms to the client that the transaction started. Note that if a start fails, the server raises a channel exception.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Tunnel::Request
This class implements the class Tunnel method Request, which is an asynchronous method.

This method tunnels a block of binary data, which can be an encoded AMQP method or other data. The binary data is sent as the content for the Tunnel.Request method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

meta_data (type: table)
    Meta data for the tunnelled block

    This field table holds arbitrary meta-data that the sender needs to pass to the recipient.

  Net::AMQP::Protocol::Tunnel::ContentHeader
This class implements the class Tunnel method ContentHeader, which is an asynchronous method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

headers (type: table)
proxy_name (type: shortstr)
data_name (type: shortstr)
durable (type: octet)
broadcast (type: octet)

  Net::AMQP::Protocol::Test::Integer
This class implements the class Test method Integer, which is a synchronous method.

This method tests the peer's capability to correctly marshal integer data.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

integer_1 (type: octet)
    Octet test value

    An octet integer test value.

integer_2 (type: short)
    Short test value

    A short integer test value.

integer_3 (type: long)
    Long test value

    A long integer test value.

integer_4 (type: longlong)
    Long-long test value

    A long long integer test value.

operation (type: octet)
    Operation to test

    The client must execute this operation on the provided integer test fields and return the result.

  Net::AMQP::Protocol::Test::IntegerOk
This class implements the class Test method IntegerOk, which is a synchronous method.

This method reports the result of an Integer method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

result (type: longlong)
    Result value

    The result of the tested operation.

  Net::AMQP::Protocol::Test::String
This class implements the class Test method String, which is a synchronous method.

This method tests the peer's capability to correctly marshal string data.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

string_1 (type: shortstr)
    Short string test value

    An short string test value.

string_2 (type: longstr)
    Long string test value

    A long string test value.

operation (type: octet)
    Operation to test

    The client must execute this operation on the provided string test fields and return the result.

  Net::AMQP::Protocol::Test::StringOk
This class implements the class Test method StringOk, which is a synchronous method.

This method reports the result of a String method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

result (type: longstr)
    Result value

    The result of the tested operation.

  Net::AMQP::Protocol::Test::Table
This class implements the class Test method Table, which is a synchronous method.

This method tests the peer's capability to correctly marshal field table data.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

table (type: table)
    Field table of test values

    A field table of test values.

integer_op (type: octet)
    Operation to test on integers

    The client must execute this operation on the provided field table integer values and return the result.

string_op (type: octet)
    Operation to test on strings

    The client must execute this operation on the provided field table string values and return the result.

  Net::AMQP::Protocol::Test::TableOk
This class implements the class Test method TableOk, which is a synchronous method.

This method reports the result of a Table method.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

integer_result (type: longlong)
    Integer result value

    The result of the tested integer operation.

string_result (type: longstr)
    String result value

    The result of the tested string operation.

  Net::AMQP::Protocol::Test::Content
This class implements the class Test method Content, which is a synchronous method.

This method tests the peer's capability to correctly marshal content.

This class has no fields nor accessors.

  Net::AMQP::Protocol::Test::ContentOk
This class implements the class Test method ContentOk, which is a synchronous method.

This method reports the result of a Content method. It contains the content checksum and echoes the original content as provided.

Each of the following represents a field in the specification. These are the optional arguments to new() and are also read/write accessors:

content_checksum (type: long)
    Content hash

    The 32-bit checksum of the content, calculated by adding the content into a 32-bit accumulator.