NAME
Protocol::Memcached::Client - memcached client binary protocol implementation
VERSION
version 0.004
SYNOPSIS
package Subclass::Of::Protocol::Memcached;
use parent qw(Protocol::Memcached::Client);
sub write { $_[0]->{socket}->write($_[1]) }
package main;
my $mc = Subclass::Of::Protocol::Memcached->new;
my ($k, $v) = ('hello' => 'world');
$mc->set(
$k => $v,
on_complete => sub {
$mc->get(
'key',
on_complete => sub { my $v = shift; print "Had $v\n" },
on_error => sub { die "Failed because of @_\n" },
);
}
);
DESCRIPTION
Bare minimum protocol support for memcached. This class is transport-agnostic and as such is not a working implementation - you need to subclass and provide your own ->write method.
If you're using this class, you're most likely doing it wrong - head over to the "SEE ALSO" section to rectify this.
SUBCLASSING
Provide the following method:
write
This will be called with the data to be written, and zero or more named parameters:
on_flush - coderef to execute when the data has left the building, if this is not supported by the transport layer then the subclass should call the coderef before returning
and when you have data, call "on_read".
AUTHOR
Tom Molesworth <cpan@entitymodel.com>
LICENSE
Copyright Tom Molesworth 2011. Licensed under the same terms as Perl itself.