POE::Session::AttributeBased - POE::Session syntax sweetener


POE-Session-AttributeBased documentation  | view source Contained in the POE-Session-AttributeBased distribution.

Index


NAME

Top

POE::Session::AttributeBased - POE::Session syntax sweetener

VERSION

Top

Version 0.10

SYNOPSIS

Top

    #!perl

    package Foo;

    use Test::More tests => 7;

    use POE;
    use base 'POE::Session::AttributeBased';

    sub _start : State {
	my $k : KERNEL;
	my $h : HEAP;

	ok( 1, "in _start" );

	$k->yield( tick => 5 );
    }

    sub tick : State {
	my $k     : KERNEL;
	my $count : ARG0;

	ok( 1, "in tick" );
	return 0 unless $count;

	$k->yield( tick => $count - 1 );
	return 1;
    }

    POE::Session->create(
	Foo->inline_states(),
    );

    POE::Kernel->run();
    exit;

ABSTRACT

Top

A simple attribute handler mixin that makes POE state easier to keep track of.

DESCRIPTION

Top

Provides an attribute handler that does some bookkeeping for state handlers. There have been a few of these classes for POE. This is probably the most minimal. It supports only the inline attribute syntax. but that seems sufficient for cranking up a POE session.

FUNCTIONS

Top

State

The state hander attribute. Never called directly.

Offset

POE::Session argument offset handler. This use of the DB module to get extra info from caller might be risky.

OBJECT =cut sub OBJECT : ATTR(SCALAR) { Offset @_; }

SESSION =cut

sub SESSION : ATTR(SCALAR) { Offset @_; }

KERNEL =cut sub KERNEL : ATTR(SCALAR) { Offset @_; }

HEAP =cut sub HEAP : ATTR(SCALAR) { Offset @_; }

STATE =cut sub STATE : ATTR(SCALAR) { Offset @_; }

SENDER =cut sub SENDER : ATTR(SCALAR) { Offset @_; }

CALLER_FILE =cut sub CALLER_FILE : ATTR(SCALAR) { Offset @_; }

CALLER_LINE =cut

sub CALLER_LINE : ATTR(SCALAR) { Offset @_; }

CALLER_STATE =cut

sub CALLER_STATE : ATTR(SCALAR) { Offset @_; }

ARG0 =cut

sub ARG0 : ATTR(SCALAR) { Offset @_; }

ARG1 =cut

sub ARG1 : ATTR(SCALAR) { Offset @_; }

ARG2 =cut

sub ARG2 : ATTR(SCALAR) { Offset @_; }

ARG3 =cut

sub ARG3 : ATTR(SCALAR) { Offset @_; }

ARG4 =cut

sub ARG4 : ATTR(SCALAR) { Offset @_; }

ARG5 =cut

sub ARG5 : ATTR(SCALAR) { Offset @_; }

ARG6 =cut

sub ARG6 : ATTR(SCALAR) { Offset @_; }

ARG7 =cut

sub ARG7 : ATTR(SCALAR) { Offset @_; }

ARG8 =cut

sub ARG8 : ATTR(SCALAR) { Offset @_; }

ARG9 =cut

sub ARG9 : ATTR(SCALAR) { Offset @_; }

inline_states

Returns the list of states in a format that is usable by POE::Session->create. Can also specify what to return as the hash key so that it is useful in packages like POE::Component::Server::TCP where the state list has a different tag.

AUTHOR

Top

Chris Fedde, <cfedde at cpan.org>

BUGS

Top

Please report any bugs or feature requests to bug-poe-attr at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POE-Session-AttributeBased. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc POE::Session::AttributeBased

You can also look for information at:

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/POE-Session-AttributeBased

* CPAN Ratings

http://cpanratings.perl.org/d/POE-Session-AttributeBased

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Session-AttributeBased

* Search CPAN

http://search.cpan.org/dist/POE-Session-AttributeBased

ACKNOWLEDGEMENTS

Top

COPYRIGHT & LICENSE

Top


POE-Session-AttributeBased documentation  | view source Contained in the POE-Session-AttributeBased distribution.