rev |
line source |
Hans-G?nter@24245
|
1 Net::Server is an extensible, generic Perl server engine.
|
Hans-G?nter@24245
|
2
|
Hans-G?nter@24245
|
3 Net::Server attempts to be a generic server as in Net::Daemon and
|
Hans-G?nter@24245
|
4 NetServer::Generic.
|
Hans-G?nter@24245
|
5 It includes with it the ability to run as an inetd process
|
Hans-G?nter@24245
|
6 (Net::Server::INET), a single connection server (Net::Server or
|
Hans-G?nter@24245
|
7 Net::Server::Single), a forking server (Net::Server::Fork),
|
Hans-G?nter@24245
|
8 a preforking server which maintains a constant number of preforked
|
Hans-G?nter@24245
|
9 children (Net::Server::PreForkSimple), or as a managed preforking
|
Hans-G?nter@24245
|
10 server which maintains the number of children based on server load
|
Hans-G?nter@24245
|
11 (Net::Server::PreFork).
|
Hans-G?nter@24245
|
12 In all but the inetd type, the server provides the ability to connect
|
Hans-G?nter@24245
|
13 to one or to multiple server ports.
|
Hans-G?nter@24245
|
14
|
Hans-G?nter@24245
|
15 The additional server types are made possible via "personalities" or
|
Hans-G?nter@24245
|
16 sub classes of the Net::Server.
|
Hans-G?nter@24245
|
17 By moving the multiple types of servers out of the main Net::Server
|
Hans-G?nter@24245
|
18 class, the Net::Server concept is easily extended to other types
|
Hans-G?nter@24245
|
19 (in the near future, we would like to add a "Thread" personality).
|
Hans-G?nter@24245
|
20
|
Hans-G?nter@24245
|
21 Net::Server borrows several concepts from the Apache Webserver.
|
Hans-G?nter@24245
|
22 Net::Server uses "hooks" to allow custom servers such as SMTP, HTTP,
|
Hans-G?nter@24245
|
23 POP3, etc. to be layered over the base Net::Server class.
|
Hans-G?nter@24245
|
24 In addition the Net::Server::PreFork class borrows concepts of
|
Hans-G?nter@24245
|
25 min_start_servers, max_servers, and min_waiting servers.
|
Hans-G?nter@24245
|
26 Net::Server::PreFork also uses the concept of an flock serialized
|
Hans-G?nter@24245
|
27 accept when accepting on multiple ports (PreFork can choose between
|
Hans-G?nter@24245
|
28 flock, IPC::Semaphore, and pipe to control serialization).
|