Takumi Akiyama 🍙🍙🍙
and 1 contributors

NAME

AnyEvent::SKKServ - Lightweight skkserv implementation for AnyEvent

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;

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, ...)

THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE.

METHODS

new

host : Str

Takes an optional host address.

port => 55100 : Num

Takes an optional port number. (Defaults to 55100)

on_error => $cb->($handle) : CodeRef

Takes a callback for when you receive an illegal data.

on_end => $cb->($handle) : CodeRef
on_request => $cb->($handle, $request) : CodeRef
on_version => $cb->($handle) : CodeRef
on_host => $cb->($handle) : CodeRef

Takes callbacks corresponding to reply from the client (see "PROTOCOL").

run

Run skkserv.

PROTOCOL

Client Request Form

"0"

end of connection

"1eee "

eee is keyword in EUC code with ' ' at the end

"2"

skkserv version number

"3"

hostname and its IP addresses

Server Reply Form for "1eee"

"0"

Error

"1eee"

eee is the associated line separated by '/'

"4"

Not Found

Server Reply Form for "2"

"A.B "

A for major version number, B for minor version number followed by a space

Server Reply Form for "3"

"string:addr1:...: "

string for hostname, addr1 for an IP address followed by a space

AUTHOR

Takumi Akiyama <akiym@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.