Path: usenet.cis.ufl.edu!usenet.eel.ufl.edu!gatech!howland.reston.ans.net!swrinde!emory!metro.atlanta.com!news.sprintlink.net!psgrain!nntp.teleport.com!usenet
From: [email protected] ( BIU)
Newsgroups: comp.lang.perl.announce,comp.lang.perl.misc,comp.lang.perl
Subject: EventDriven Server version 2.0 now available
Followup-To: comp.lang.perl.misc
Date: 19 Jun 1995 18:49:20 GMT
Organization: Imperial Cancer Research Fund
Lines: 50
Approved: [email protected] (comp.lang.perl.announce)
Message-ID: <[email protected]>
NNTP-Posting-Host: linda.teleport.com
Keywords: EventDriven Server
X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content.
Xref: usenet.cis.ufl.edu comp.lang.perl.announce:44 comp.lang.perl.misc:731 comp.lang.perl:52465

Version 2.0 of my EventDriven Server is now available at

ftp://ftp.icnet.uk/icrf-public/biu/perlmods/EventDrivenServer-2.0.tar.gz


Enhancements for version 2.0:
 Documentation is now podifed
 Simpler internal signal handlers
 POSIX signals used if available
 Even more robust
 Now supports user defined events
 Works around 5.001 bug - now works with any perl5 version.


The Server::Server::EventDriven module:

The event driven server is NOT specifically a network client or
server.  It allows any type of i/o whether this is IP, UNIX socket,
plain file handle or whatever. It is designed to be able to handle
multiple domains. It is the bare bones to allow you to easily have
a process handling multiple different things.

It basically provides for functions to be triggered on any of i/o,
timed events, signals, or user-defined events. You can specify a
function to be called when input or output (or either) is possible on
any filehandle, or when a timeout occurs, or regularly at a set
interval, or when a signal is received, or when a user-defined event
is added to the event queue. In fact, any set of these simultaneously
- all these events are checked for continuously, and any one occurring
triggers a function specified by the user.

You can tell it to do something like the following:

every 10 seconds execute function 'a'
AND if there is input pending on filehandle B call function 'c'
AND if I receive signal C call function 'd'
AND in 3.4 seconds execute function 'e'
AND execute function 'f' when the child process 5555 dies
AND ...

Full documentation is included. HTML and man pages can be
generated using the pod2html and pod2man programs, and are
also included with the distribution.

--
      Jack               [email protected]

If you only have a hammer, you tend to see every problem as a nail.
               -- Maslow