AnyEvent-RipeRedis-Cluster
view release on metacpan or search on metacpan
examples/example.pl view on Meta::CPAN
on_node_error => sub {
my $err = shift;
my $host = shift;
my $port = shift;
warn "$host:$port: " . $err->message . "\n";
},
);
my $cv = AE::cv;
my $timer;
$cluster->get( '__last__',
sub {
my $num = shift || 0;
my $err = shift;
if ( defined $err ) {
warn $err->message . "\n";
$cv->send;
return;
}
$timer = AE::timer( 0, 0.1,
sub {
set_get( $num++ );
}
);
}
);
my $on_signal = sub {
print "Stopped\n";
$cv->send;
lib/AnyEvent/RipeRedis/Cluster.pm view on Meta::CPAN
}
}
return crc16($hashtag) % MAX_SLOTS;
}
sub _init {
my $self = shift;
$self->{_init_state} = S_IN_PROGRESS;
undef $self->{_refresh_timer};
weaken($self);
$self->_discover_cluster(
sub {
my $err = $_[1];
if ( defined $err ) {
$self->{_init_state} = S_NEED_DO;
lib/AnyEvent/RipeRedis/Cluster.pm view on Meta::CPAN
return;
}
$self->{_init_state} = S_DONE;
$self->{_ready} = 1;
$self->_process_input_queue;
if ( $self->{refresh_interval} > 0 ) {
$self->{_refresh_timer} = AE::timer(
$self->{refresh_interval}, 0,
sub {
$self->{_init_state} = S_NEED_DO;
$self->{_ready} = 0;
}
);
}
}
);
lib/AnyEvent/RipeRedis/Cluster.pm view on Meta::CPAN
sub _reset_internals {
my $self = shift;
$self->{_nodes_pool} = undef;
$self->{_nodes} = undef;
$self->{_master_nodes} = undef;
$self->{_slots} = undef;
$self->{_commands} = undef;
$self->{_init_state} = S_NEED_DO;
$self->{_refresh_timer} = undef;
$self->{_ready} = 0;
return;
}
sub _abort {
my $self = shift;
my $err = shift;
my @queued_commands = $self->_queued_commands;
t/test_helper.pl view on Meta::CPAN
);
}
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;
}
( run in 1.143 second using v1.01-cache-2.11-cpan-49f99fa48dc )