AnyEvent-SKKServ
view release on metacpan or search on metacpan
lib/AnyEvent/SKKServ.pm view on Meta::CPAN
__END__
=encoding utf8
=head1 NAME
AnyEvent::SKKServ - Lightweight skkserv implementation for AnyEvent
=head1 SYNOPSIS
use AnyEvent;
use AnyEvent::SKKServ;
my $cv = AE::cv();
my $skkserv = AnyEvent::SKKServ->new(
on_request => sub {
my ($handle, $request) = @_;
...
},
);
$skkserv->run;
$cv->recv;
=head1 DESCRIPTION
AnyEvent::SKKServ is yet another skkserv implementation. And too simple, so it doesn't support jisyo (dictionary) file.
Let's make your own skkserv! (e.g. Google CGI API for Japanese Input, Social IME's API, ...)
B<THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE>.
=head1 METHODS
=head2 new
=over 4
=item host : Str
Takes an optional host address.
=item port => 55100 : Num
Takes an optional port number. (Defaults to 55100)
=item on_error => $cb->($handle) : CodeRef
Takes a callback for when you receive an illegal data.
=item on_end => $cb->($handle) : CodeRef
=item on_request => $cb->($handle, $request) : CodeRef
=item on_version => $cb->($handle) : CodeRef
=item on_host => $cb->($handle) : CodeRef
Takes callbacks corresponding to reply from the client (see L</PROTOCOL>).
=back
=head2 run
Run skkserv.
=head1 PROTOCOL
=head2 Client Request Form
=over 4
=item "0"
end of connection
=item "1eee "
eee is keyword in EUC code with ' ' at the end
=item "2"
skkserv version number
=item "3"
hostname and its IP addresses
=back
=head2 Server Reply Form for "1eee"
=over
=item "0"
Error
=item "1eee"
eee is the associated line separated by '/'
=item "4"
Not Found
=back
=head2 Server Reply Form for "2"
=over 4
=item "A.B "
A for major version number, B for minor version number followed by a space
=back
=head2 Server Reply Form for "3"
( run in 1.632 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )