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 )