AnyMQ-AMQP
view release on metacpan or search on metacpan
---
abstract: 'AMQP binding for AnyMQ'
author:
- 'Chia-liang Kao <clkao@clkao.org>'
build_requires:
ExtUtils::MakeMaker: 6.42
Test::More: 0
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
generated_by: 'Module::Install version 1.02'
license: perl
NAME
AnyMQ::AMQP - AMQP binding for AnyMQ
SYNOPSIS
use AnyMQ;
my $bus = AnyMQ->new_with_traits(traits => ['AMQP'],
host => 'localhost',
port => 5672,
user => 'guest',
pass => 'guest',
vhost => '/',
exchange => 'foo',
lib/AnyMQ/AMQP.pm view on Meta::CPAN
1;
__END__
=encoding utf-8
=for stopwords
=head1 NAME
AnyMQ::AMQP - AMQP binding for AnyMQ
=head1 SYNOPSIS
use AnyMQ;
my $bus = AnyMQ->new_with_traits(traits => ['AMQP'],
host => 'localhost',
port => 5672,
user => 'guest',
pass => 'guest',
vhost => '/',
lib/AnyMQ/Topic/Trait/AMQP.pm view on Meta::CPAN
package AnyMQ::Topic::Trait::AMQP;
use Moose::Role;
has publisher_only => (is => "ro", isa => "Bool");
sub BUILD {}; after 'BUILD' => sub {
my $self = shift;
return if $self->publisher_only;
$self->bus->_rf_channel->bind_queue(
exchange => $self->bus->exchange,
queue => $self->bus->_rf_queue,
routing_key => $self->name,
on_success => $self->bus->cv,
);
};
before publish => sub {
my ($self, @events) = @_;
$self->bus->_rf_channel->publish(
lib/AnyMQ/Topic/Trait/AMQP.pm view on Meta::CPAN
header => { reply_to => $self->bus->_rf_queue },
body => JSON::to_json($_)
) for @events;
};
sub DEMOLISH {}; after 'DEMOLISH' => sub {
my $self = shift;
my ($igd) = @_;
return if $igd;
return if $self->publisher_only;
$self->bus->_rf_channel->unbind_queue(
queue => $self->bus->_rf_queue,
routing_key => $self->name,
on_success => $self->bus->cv,
);
};
1;
lib/AnyMQ/Trait/AMQP.pm view on Meta::CPAN
use Try::Tiny;
use Carp qw(croak carp);
has host => (is => "ro", isa => "Str");
has port => (is => "ro", isa => "Int");
has user => (is => "ro", isa => "Str");
has pass => (is => "ro", isa => "Str");
has vhost => (is => "ro", isa => "Str");
has exchange => (is => "ro", isa => "Str");
has bind_mode => (is => "ro", isa => "Str", default => sub { 'exchange' });
has _rf => (is => "rw");
has _rf_channel => (is => "rw");
has _rf_queue => (is => "rw");
has cv => (is => "rw", isa => "AnyEvent::CondVar");
has on_ready => (is => "rw", isa => "CodeRef");
has _connected => (is => "rw", isa => "Bool");
( run in 0.925 second using v1.01-cache-2.11-cpan-2398b32b56e )