NAME
XAS::Lib::POE::Session - The base class for all POE Sessions.
SYNOPSIS
my $session = XAS::Lib::POE::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 signal handling. Due to the nature of POE events, they can not be inherited from, but the event handlers can call methods which can. To effectively inherit from this class, you need to walk the SUPER chain to process overridden methods.
METHODS
new
This method initializes the modules. It inherits from XAS::Base and takes these parameters:
session_initialize
This method is called after session startup and is used for initialization. This initialization may include defining additonal event. By default it sets up signal handling for these signals:
HUP
INT
TERM
QUIT
session_startup
This method is where actual processing starts to happen.
session_shutdown
This method is called when your session is shutting down.
session_reload
This method should perform reload actions for the session. By default it calls POE's sig_handled() method which terminates further handling of the HUP signal.
session_interrupt($signal)
This is called when the process receives a signal. By default, when a HUP signal is received it will call session_reload() otherwise it calls session_shutdown().
session_exception($ex)
This is called when a exception or "die" happens. By default, this just prints out the messages and continues on. This provides a default exception handler for a session.
- $ex
-
The exception hash that is generated by POE. The field 'error_str' is used to print out the exception message.
session_stop
This method is called when POE starts doing "_stop" activities.
run
A short cut to POE's run() method.
SEE ALSO
AUTHOR
Kevin L. Esteb, <kevin@kesteb.us>
COPYRIGHT AND LICENSE
Copyright (C) 2014 Kevin L. Esteb
This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license at http://www.perlfoundation.org/artistic_license_2_0.