Kevin L. Esteb > XAS-0.04 > XAS::Lib::Session

Download:
XAS-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.04   Source   Latest Release: XAS-0.05

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 cleanup() method. The HUP signal will invoke the reload() method.

METHODS ^

initialize($kernel, $session)

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

$kernel

A handle to the POE kernel.

$session

A handle to the current POE session.

cleanup($kernel, $session)

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

$kernel

A handle to the POE kernel.

$session

A handle to the current POE session.

reload($kernel, $session)

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

$kernel

A handle to the POE kernel.

$session

A handle to the current POE session.

stop($kernel, $session)

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

$kernel

A handle to the POE kernel.

$session

A handle to the current POE session.

config($item)

This method will return a value from the configuration items for this object. It is passed one parameter, the name of the config item.

$item

Return the value for this item from the config.

Example:

    my $item = $self->config('Item');

log($level, $message)

This method provides a simple logger. It should be overridden.

$level

A log level that is compatiable with your logger.

$message

The message to write in the log.

PUBLIC EVENTS ^

The following public events are defined for the session.

startup($kernel, $self)

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

$kernel

A handle to the POE kernel.

$self

A handle to the current self.

shutdown

When you send this event to the session, it will invoke the 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) 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.5 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: