Provided by: libpoe-component-ikc-perl_0.2305-1_all bug

NAME

       POE::Component::IKC::Server - POE Inter-kernel Communication server

SYNOPSIS

           use POE;
           use POE::Component::IKC::Server;
           POE::Component::IKC::Server->spawn(
               ip=>$ip,
               port=>$port,
               name=>'Server');
           ...
           $poe_kernel->run();

DESCRIPTION

       This module implements a POE IKC server.  A IKC server listens for incoming connections from IKC clients.
       When a client connects, it negociates certain connection parameters.  After this, the POE server and
       client are pretty much identical.

EXPORTED FUNCTIONS

   "create_ikc_server"
       Syntatic sugar for POE::Component::IKC::Server->spawn.

CLASS METHODS

   "spawn"
       This methods initiates all the work of building the IKC server.  Parameters are :

       "ip"
          Address  to listen on.  Can be a doted-quad ('127.0.0.1') or a host name ('foo.pied.nu').  Defaults to
          '0.0.0.0', aka INADDR_ANY.

       "port"
          Port to listen on.  Can be numeric (80) or a service ('http').  If undefined, will default to 603.  If
          you set the port to 0, a random port will be chosen and "spawn" will return the port number.

              my $port = POE::Component::IKC::Server->spawn( port => 0 );
              warn "Listeing on port $port";

       "unix"
          Path to the unix-socket to listen on.  Note: this path is unlinked before socket is attempted!   Buyer
          beware.

       "name"
          Local  kernel name.  This is how we shall "advertise" ourself to foreign kernels. It acts as a "kernel
          alias".  This parameter is temporary, pending the addition of true kernel names in the POE core.  This
          name, and all aliases will be registered with the responder so that you can post to them  as  if  they
          were remote.

       "aliases"
          Arrayref of even more aliases for this kernel.  Fun Fun Fun!

       "verbose"
          Print  extra  information  to STDERR if true.  This allows you to see what is going on and potentially
          trace down problems and stuff.

       "processes"
          Activates the pre-forking server code.  If  set  to  a  positive  value,  IKC  will  fork  processes-1
          children.  IKC requests are only serviced by the children.  Default is 1 (ie, no forking).

       "babysit"
          Time, in seconds, between invocations of the babysitter event.

       "connections"
          Number  of  connections  a  child  will  accept  before  exiting.  Currently, connections are serviced
          concurrently, because there's no way to know when we have finished a request.  Defaults to 1 (ie,  one
          connection per child).

       "concurrency"
          Number of simultaneous connected clients allowed.  Defaults to 0 (unlimited).

          Note  that  this  is  per-IKC::Server  instance;  if you have several ways of connecting to a give IKC
          server (for example, both an TCP/IP  port  and  unix  pipe),  they  will  not  share  the  conncurrent
          connection count.

       "protocol"
          Which  IKC  negociation protocol to use.  The original protocol ("IKC") was synchronous and slow.  The
          new protocol ("IKC0") sends all information at once.  IKC0 will degrade  gracefully  to  IKC,  if  the
          client and server don't match.

          Default is IKC0.

       "POE::Component::IKC::Server::spawn"  returns  "undef()",  unless  you specify a "port"=0, in which case,
       "spawn" returns the port that was chosen.

EVENTS

   shutdown
       This event causes the server to close it's socket, clean up the shop and head home. Normally it  is  only
       posted from IKC::Responder.

BUGS

       Preforking  is  something  of  a  hack.  In particular, you must make sure that your sessions will permit
       children exiting.  This means, if you have a delay()-loop, or event loop, children will not  exit.   Once
       POE gets multicast events, I'll change this behaviour.

AUTHOR

       Philip Gwyn, <perl-ikc at pied.nu>

COPYRIGHT AND LICENSE

       Copyright 1999-2011 by Philip Gwyn.  All rights reserved.

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

       See <http://www.perl.com/language/misc/Artistic.html>

SEE ALSO

       POE, POE::Component::IKC::Client

perl v5.18.1                                       2013-02-11                                   IKC::Server(3pm)