Eric Waters > POE-Component-Client-AMQP > POE::Component::Client::AMQP::Queue

Download:
POE-Component-Client-AMQP-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source  

NAME ^

POE::Component::Client::AMQP::Queue - AMQP Queue object

DESCRIPTION ^

Create using the POE::Component::Client::AMQP::Channel objects' queue() command. Calling queue() also retrieves previously created Queue objects. Alternatively, you can use the create() class method below to create it directly, but doing so will not send the Queue.Declare call to the AMQP server.

CLASS METHODS ^

create (...)

Pass two named args 'name' (optional) and 'channel'.

OBJECT METHODS ^

name

Returns the queue name

channel

Returns the POE::Component::Client::AMQP::Channel parent object.

is_created

Returns a boolean, indicating wether the queue has been created on the AMQP server yet or not.

do_when_created (...)

See POE::Component::Client::AMQP::do_when_startup(); similar behavior.

subscribe ($subref, \%opts)

Sends a Net::AMQP::Protocol::Basic::Consume frame to the server, storing the $subref as a callback function for when content is received.

Optionally provide %opts which will override defaults for the Basic.Consume call.

The argument signature of the callback is like so:

  my $do_ack = $subref->($message, $meta)
$do_ack

If in the %opts hash you choose 'no_ack => 0', then messages have to be explicitly ack'ed once handled. If your callback returns true in this condition, an ack message will automatically be sent for you.

$message

Opaque payload of the content body.

$meta

Hashref with keys as follows:

method_frame

Net::AMQP::Protocol::Base delivering method object.

header_frame

Net::AMQP::Protocol::Base delivering ContentHeader object.

weight, body_size

Copied from the header_frame object.

payload

Same as the $message argument above.

body_frames

Array of all the Net::AMQP::Frame::Body frames that comprise the payload.

queue

The name of this queue object.

opts

The options used to create the Basic.Consume call (merge of default values and %opts, above)

publish ($message, \%opts)

Sends a message to the queue. In other words, sends a Net::AMQP::Protocol::Basic::Publish followed by a Net::AMQP::Protocol::Basic::ContentHeader and Net::AMQP::Frame::Body containing the body of the message.

Optionally pass %opts, which can override any option in the Net::AMQP::Protocol::Basic::Publish ('ticket', 'exchange', 'routing_key', 'mandatory', 'immediate'), Net::AMQP::Frame::Header ('weight') or Net::AMQP::Protocol::Basic::ContentHeader ('content_type', 'content_encoding', 'headers', 'delivery_mode', 'priority', 'correlation_id', 'reply_to', 'expiration', 'message_id', 'timestamp', 'type', 'user_id', 'app_id', 'cluster_id') objects. See the related documentation for an explaination of each.

bind (%opts)

Shortcut to send a Queue.Bind call with this queue name. Pass the same args you'd pass to a Net::AMQP::Protocol::Queue::Bind object creation.

SEE ALSO ^

POE::Component::Client::AMQP::Channel

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>

syntax highlighting: