AnyEvent-RipeRedis-Cluster
view release on metacpan or search on metacpan
t/test_helper.pl view on Meta::CPAN
my $self = shift;
my $cmd_name = shift;
my $cbs = pop;
my @args = @_;
my $reply;
my $err;
if ( $cmd_name eq 'hget' ) {
$err = AnyEvent::RipeRedis::Error->new(
q{LOADING Redis is loading the dataset in memory}, 2 );
}
else {
$reply = clone( $command_replies{$cmd_name} );
}
AE::postpone {
$cbs->{on_reply}->( $reply, $err );
};
}
);
$mock->mock( 'disconnect', sub {} );
foreach my $name ( qw( host port ) ) {
$mock->mock( $name,
sub {
my $self = shift;
return $self->{$name};
}
);
}
return $mock;
},
);
}
use AnyEvent::RipeRedis::Cluster qw( :err_codes );
sub new_cluster {
my %params = @_;
return AnyEvent::RipeRedis::Cluster->new(
startup_nodes => [
{ host => '127.0.0.1', port => 7000 },
{ host => '127.0.0.1', port => 7001 },
{ host => '127.0.0.1', port => 7002 },
],
%params,
);
}
sub ev_loop {
my $sub = shift;
my $cv = AE::cv;
$sub->($cv);
my $timer = AE::timer( 10, 0,
sub {
diag( 'Emergency exit from event loop.' );
$cv->send;
}
);
$cv->recv;
return;
}
sub nodes {
my $cluster = shift;
my $key = shift;
my $allow_slaves = shift;
return sort { $a->[0] cmp $b->[0] || $a->[1] <=> $b->[1] }
map { [ $_->host, $_->port ] } $cluster->nodes( $key, $allow_slaves );
return;
}
1;
( run in 0.416 second using v1.01-cache-2.11-cpan-af0e5977854 )