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: js@biu.icnet.uk ( 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: merlyn@stonehenge.com (comp.lang.perl.announce) Message-ID: <3s4grg$c01@maureen.teleport.com> 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 js@biu.icnet.uk If you only have a hammer, you tend to see every problem as a nail. -- Maslow