The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XAS::Lib::Session - The base class for all POE Sessions.

SYNOPSIS

 my $session = XAS::Lib::Session->new(
     -alias => 'name',
 );

DESCRIPTION

This module provides an object based POE session. This object will perform the necessary actions for the lifetime of the session. This includes handling signals. The following signals INT, TERM, QUIT will trigger the 'shutdown' event which invokes the session_cleanup() method. The HUP signal will invoke the session_reload() method. This module inherits from XAS::Base.

METHODS

session_initialize

This is where the session should do whatever initialization it needs. This initialization may include defining additional events.

session_cleanup

This method should perform cleanup actions for the session. This is triggered by a "shutdown" event.

session_reload

This method should perform reload actions for the session. By default it calls $kernel->sig_handled() which terminates further handling of the HUP signal.

session_stop

This method should perform stop actions for the session. This is triggered by a "_stop" event.

PUBLIC EVENTS

The following public events are defined for the session.

session_startup

This event should start whatever processing the session will do. It is passed two parameters:

session_shutdown

When you send this event to the session, it will invoke the session_cleanup() method.

PRIVATE EVENTS

The following events are used internally:

 session_init
 session_interrupt
 session_reload
 shutdown

They should only be used with caution.

SEE ALSO

XAS

AUTHOR

Kevin L. Esteb, <kevin@kesteb.us>

COPYRIGHT AND LICENSE

Copyright (C) 2014 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.

See http://dev.perl.org/licenses/ for more information.