---
name: "Net::AMQP::Protocol"
section: "3pm"
platform: "linux"
package: "libnet-amqp-perl"
version: "0.06~dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::AMQP::Protocol"
---

# Net::AMQP::Protocol(3pm)

Loading code of the AMQP spec

## NAME

Net::AMQP::Protocol - Loading code of the AMQP spec

## DESCRIPTION

This class serves as a loader for the auto-generated classes of the protocol.

## CLASS METHODS

### header

Returns a binary string representing the header of any AMQP communications

### load\_xml\_spec

Pass in the XML filename.  Reads in the AMQP XML specifications file, XML document node \<amqp\>, and generates subclasses of Net::AMQP::Protocol::Base for each frame type.

Names are normalized, as demonstrated by this example:

```
  <class name='basic'>
    <method name='consume-ok'>
      <field name='consumer tag'>
    </method>
  </class>
```

creates the class Net::AMQP::Protocol::Basic::ConsumeOk with the field accessor `"consumer_tag()"`, allowing you to create a new object as such:

```
  my $method = Net::AMQP::Protocol::Basic::ConsumeOk->new(
      consumer_tag => 'blah'
  );
  print $method->consumer_tag() . "\n";
  if ($method->class_id == 60 && $method->method_name == 21) {
    # do something
  }
```

### full\_docs\_to\_dir

```
  Net::AMQP::Protocol->full_docs_to_dir($dir, $format);
```

Using the dynamically generated classes, this will create 'pod' or 'pm' files in the target directory in the following format:

```
  $dir/Net::AMQP::Protocol::Basic::Publish.pod
  (or with format 'pm')
  $dir/Net/AMQP/Protocol/Basic/Publish.pm
```

The directory will be created if it doesn't exist.

## SEE ALSO

Net::AMQP

## COPYRIGHT

Copyright (c) 2009 Eric Waters and XMission LLC (http://www.xmission.com/).  All rights reserved.  This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

## AUTHOR

Eric Waters \<ewaters@gmail.com\>
