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'
);
$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
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>