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

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>