view release on metacpan or search on metacpan
"MooseX::Types" : 0,
"MooseX::Types::Moose" : 0,
"MooseX::Types::Set::Object" : 0,
"POSIX" : 0,
"Params::Util" : 0,
"Regexp::Common" : 0,
"Scalar::Util" : 0,
"Try::Tiny" : 0,
"ZeroMQ::Raw" : 0,
"ZeroMQ::Raw::Constants" : 0,
"namespace::autoclean" : 0,
"true" : 0
}
},
"test" : {
"requires" : {
"EV" : 0,
"Test::More" : 0,
"Test::TableDriven" : 0,
"ZeroMQ::Raw::Context" : 0,
"ok" : 0
MooseX::Types: 0
MooseX::Types::Moose: 0
MooseX::Types::Set::Object: 0
POSIX: 0
Params::Util: 0
Regexp::Common: 0
Scalar::Util: 0
Try::Tiny: 0
ZeroMQ::Raw: 0
ZeroMQ::Raw::Constants: 0
namespace::autoclean: 0
true: 0
resources:
repository: git://github.com/jrockway/anyevent-zeromq.git
version: 0.01
x_Dist_Zilla:
plugins:
-
class: Dist::Zilla::Plugin::BeJROCKWAY
name: '@JROCKWAY/BeJROCKWAY'
version: 1.102911
Makefile.PL view on Meta::CPAN
'MooseX::Types' => '0',
'MooseX::Types::Moose' => '0',
'MooseX::Types::Set::Object' => '0',
'POSIX' => '0',
'Params::Util' => '0',
'Regexp::Common' => '0',
'Scalar::Util' => '0',
'Try::Tiny' => '0',
'ZeroMQ::Raw' => '0',
'ZeroMQ::Raw::Constants' => '0',
'namespace::autoclean' => '0',
'true' => '0'
},
'VERSION' => '0.01',
'test' => {
'TESTS' => 't/*.t'
}
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
lib/AnyEvent/ZeroMQ.pm view on Meta::CPAN
$AnyEvent::ZeroMQ::VERSION = '0.01';
}
# ABSTRACT: non-blocking interface to ZeroMQ sockets
use strict;
use warnings;
use ZeroMQ::Raw;
use ZeroMQ::Raw::Constants qw(ZMQ_FD ZMQ_POLLIN ZMQ_POLLOUT ZMQ_EVENTS);
use Carp qw(confess);
use namespace::autoclean;
use AnyEvent;
sub io {
my ($class, %args) = @_;
my $poll = $args{poll} || confess 'must supply poll direction';
my $sock = $args{socket} || confess 'must supply socket';
my $cb = $args{cb} || confess 'must supply cb';
my $fd = $sock->getsockopt(ZMQ_FD);
confess 'getsockopt did not return a valid fd!'
lib/AnyEvent/ZeroMQ/Handle.pm view on Meta::CPAN
use AnyEvent::ZeroMQ;
use AnyEvent::ZeroMQ::Types qw(IdentityStr);
use ZeroMQ::Raw::Constants qw(ZMQ_NOBLOCK ZMQ_IDENTITY);
use Params::Util qw(_CODELIKE);
use Scalar::Util qw(weaken);
use Try::Tiny;
use POSIX qw(EAGAIN EWOULDBLOCK);
use true;
use namespace::autoclean;
has 'socket' => (
is => 'ro',
isa => 'ZeroMQ::Raw::Socket',
handles => [qw/bind connect/],
required => 1,
);
before qw/bind connect/ => sub {
$_[0]->identity;
lib/AnyEvent/ZeroMQ/Handle/Role/Generic.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Handle::Role::Generic;
BEGIN {
$AnyEvent::ZeroMQ::Handle::Role::Generic::VERSION = '0.01';
}
# ABSTRACT: stuff both readable and wrtiable handles do
use Moose::Role;
use true;
use namespace::autoclean;
requires 'on_error';
requires 'clear_on_error';
requires 'has_on_error';
requires 'identity';
requires 'has_identity';
requires 'socket';
requires 'bind';
requires 'connect';
lib/AnyEvent/ZeroMQ/Handle/Role/Readable.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Handle::Role::Readable;
BEGIN {
$AnyEvent::ZeroMQ::Handle::Role::Readable::VERSION = '0.01';
}
# ABSTRACT: be a readable handle
use Moose::Role;
use true;
use namespace::autoclean;
requires 'on_read';
requires 'clear_on_read';
requires 'has_on_read';
requires 'push_read';
__END__
=pod
=head1 NAME
lib/AnyEvent/ZeroMQ/Handle/Role/Writable.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Handle::Role::Writable;
BEGIN {
$AnyEvent::ZeroMQ::Handle::Role::Writable::VERSION = '0.01';
}
# ABSTRACT: be a writable handle
use Moose::Role;
use true;
use namespace::autoclean;
requires 'on_drain';
requires 'clear_on_drain';
requires 'has_on_drain';
requires 'push_write';
__END__
=pod
=head1 NAME
lib/AnyEvent/ZeroMQ/Publish.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Publish;
BEGIN {
$AnyEvent::ZeroMQ::Publish::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_PUB publish/subscribe sockets
use Moose;
use MooseX::Aliases;
use true;
use namespace::autoclean;
use ZeroMQ::Raw::Constants qw(ZMQ_PUB);
use Params::Util qw(_CODELIKE);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_PUB, socket_direction => 'w' },
'MooseX::Traits';
has '+_trait_namespace' => ( default => 'AnyEvent::ZeroMQ::Publish::Trait' );
sub mangle_message {
lib/AnyEvent/ZeroMQ/Publish/Trait/Topics.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Publish::Trait::Topics;
BEGIN {
$AnyEvent::ZeroMQ::Publish::Trait::Topics::VERSION = '0.01';
}
# ABSTRACT: trait to prefix a message with a topic
use Moose::Role;
use true;
use namespace::autoclean;
requires 'mangle_message';
around 'mangle_message' => sub {
my ($orig, $self, $msg, %args) = @_;
my $topic = delete $args{topic};
$msg = "$topic$msg" if defined $topic;
return $self->$orig($msg, %args);
};
__END__
lib/AnyEvent/ZeroMQ/Pull.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Pull;
BEGIN {
$AnyEvent::ZeroMQ::Pull::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_PULL push/pull sockets
use Moose;
use true;
use namespace::autoclean;
use ZeroMQ::Raw::Constants qw(ZMQ_PULL);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_PULL, socket_direction => 'r' };
with 'AnyEvent::ZeroMQ::Handle::Role::Generic',
'AnyEvent::ZeroMQ::Handle::Role::Readable';
__PACKAGE__->meta->make_immutable;
lib/AnyEvent/ZeroMQ/Push.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Push;
BEGIN {
$AnyEvent::ZeroMQ::Push::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_PUSH push/push sockets
use Moose;
use true;
use namespace::autoclean;
use ZeroMQ::Raw::Constants qw(ZMQ_PUSH);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_PUSH, socket_direction => 'w' };
with 'AnyEvent::ZeroMQ::Handle::Role::Generic',
'AnyEvent::ZeroMQ::Handle::Role::Writable';
__PACKAGE__->meta->make_immutable;
lib/AnyEvent/ZeroMQ/Reply.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Reply;
BEGIN {
$AnyEvent::ZeroMQ::Reply::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_REP request/reply sockets
use Moose;
use true;
use namespace::autoclean;
use Scalar::Util qw(weaken);
use ZeroMQ::Raw::Constants qw(ZMQ_REP);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_REP, socket_direction => '' };
has 'on_request' => (
is => 'ro',
isa => 'CodeRef',
required => 1,
lib/AnyEvent/ZeroMQ/Request.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Request;
BEGIN {
$AnyEvent::ZeroMQ::Request::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_REQ request/reply sockets
use Moose;
use true;
use namespace::autoclean;
use ZeroMQ::Raw::Constants qw(ZMQ_REQ);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_REQ, socket_direction => '' };
sub push_request {
my ($self, $req, $handler, $hint) = @_;
if(defined $hint){
$self->handle->push_read(sub {
$handler->(@_, $hint);
lib/AnyEvent/ZeroMQ/Role/WithHandle.pm view on Meta::CPAN
use true;
use AnyEvent::ZeroMQ::Types qw(SocketType SocketDirection Endpoints);
use AnyEvent::ZeroMQ::Handle;
use AnyEvent::ZeroMQ::Handle::Role::Generic;
use AnyEvent::ZeroMQ::Handle::Role::Readable;
use AnyEvent::ZeroMQ::Handle::Role::Writable;
use ZeroMQ::Raw;
use Try::Tiny;
use Carp qw(confess);
use namespace::autoclean;
parameter 'socket_type' => (
is => 'ro',
isa => SocketType,
required => 1,
);
parameter 'socket_direction' => (
is => 'ro',
lib/AnyEvent/ZeroMQ/Subscribe.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Subscribe;
BEGIN {
$AnyEvent::ZeroMQ::Subscribe::VERSION = '0.01';
}
# ABSTRACT: Non-blocking OO abstraction over ZMQ_SUB publish/subscribe sockets
use Moose;
use true;
use namespace::autoclean;
use MooseX::Types::Set::Object;
use Scalar::Util qw(weaken);
use ZeroMQ::Raw::Constants qw(ZMQ_SUB ZMQ_SUBSCRIBE ZMQ_UNSUBSCRIBE);
with 'AnyEvent::ZeroMQ::Role::WithHandle' =>
{ socket_type => ZMQ_SUB, socket_direction => '' },
'MooseX::Traits';
has '+_trait_namespace' => ( default => 'AnyEvent::ZeroMQ::Subscribe::Trait' );
lib/AnyEvent/ZeroMQ/Subscribe/Trait/Topics.pm view on Meta::CPAN
package AnyEvent::ZeroMQ::Subscribe::Trait::Topics;
BEGIN {
$AnyEvent::ZeroMQ::Subscribe::Trait::Topics::VERSION = '0.01';
}
# ABSTRACT: trait to parse messages and extract the topic
use Moose::Role;
use true;
use namespace::autoclean;
requires '_topics_changed';
requires '_call_callback'; # cb, item, rest -> cb, item, topic, rest
has 'topic_regex' => (
reader => 'topic_regex',
isa => 'RegexpRef',
lazy_build => 1,
);
view all matches for this distributionview release on metacpan - search on metacpan