XAS::Lib::Net::Server - A basic network server for the XAS Environment
my $server = XAS::Lib::Net::Server->new( -port => 9505, -address => 'localhost', -filter => POE::Filter::Line->new(), -alias => 'server', -inactivity_timer => 600 }
This module implements a simple text orientated nework protocol. All "packets" will have an explict "\012\015" appended. These packets may be formated strings, such as JSON. The server runs as a POE session.
This initializes the module and starts listening for requests. There are five parameters that can be passed. They are the following:
The name of the POE session.
The IP port to listen on.
The address to bind too.
Sets an inactivity timer on clients. When it is surpassed, the method reaper() is called with the POE wheel id. What reaper() does is application specific. The default is 600 seconds.
An optional filter to use, defaults to POE::Filter::Line
This method is for specific initialization of the module. By default it does nothing.
A handle for the POE kernel
This method runs when a HUP signal is recieved. By default if does nothing.
A handle for the POE kernel.
A handle to the current POE session.
This method starts the "shutdown" process for the POE session. A "shutdown" can be initiated by an INT, TERM or QUIT signal. By default it does nothing.
A handle to the POE kernel.
Called when the inactivity timer is triggered.
The POE wheel that triggered the timer.
This method does the processing for any packets that are sent over the socket. By default, it just returns the packet.
The packet that was sent over the socket.
The POE wheel that handled the packet.
This will write log messages. The default this is just a dump to stderr.
The log level, this is usually INFO, WARN, ERROR, FATAL or DEBUG. These are the levels that are understood by the XAS logger.
The message to log.
This returns the current port for that wheel.
The POE wheel to use.
This returns the current hostname for that wheel.
This returns the current client for that wheel.
POE::Filter::Line
XAS
Kevin L. Esteb, <kevin@kesteb.us>
Copyright (C) 2012 by Kevin L. Esteb
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
To install XAS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XAS
CPAN shell
perl -MCPAN -e shell install XAS
For more information on module installation, please visit the detailed CPAN module installation guide.