Cache-Memcached-AnyEvent
view release on metacpan or search on metacpan
lib/Cache/Memcached/AnyEvent.pm view on Meta::CPAN
my ($name, $code) = @_;
{
no strict 'refs';
*{$name} = $code;
}
};
foreach my $method ( qw( get get_multi ) ) {
$installer->( $method, sub {
my ($self, $keys, $cb) = @_;
Scalar::Util::weaken($self);
$self->_push_queue( $self->protocol->$method($self, $keys, $cb) );
} );
}
foreach my $method ( qw( decr incr ) ) {
$installer->($method, sub {
my ($self, @args) = @_;
my $cb = pop @args if (ref $args[-1] eq 'CODE' or ref $args[-1] eq 'AnyEvent::CondVar');
my ($key, $value, $initial) = @args;
Scalar::Util::weaken($self);
$self->_push_queue( $self->protocol->$method( $self, $key, $value, $initial, $cb ) );
});
}
foreach my $method ( qw(add append prepend replace set) ) {
$installer->($method, sub {
my ($self, @args) = @_;
my $cb = pop @args if (ref $args[-1] eq 'CODE' or ref $args[-1] eq 'AnyEvent::CondVar');
my ($key, $value, $exptime, $noreply) = @args;
Scalar::Util::weaken($self);
$self->_push_queue( $self->protocol->$method( $self, $key, $value, $exptime, $noreply, $cb ) );
});
}
}
sub stats {
my ($self, @args) = @_;
my $cb = pop @args if (ref $args[-1] eq 'CODE' or ref $args[-1] eq 'AnyEvent::CondVar');
my ($name) = @args;
$self->_push_queue( $self->protocol->stats($self, $name, $cb) );
( run in 0.276 second using v1.01-cache-2.11-cpan-65fba6d93b7 )