MooseX::POE::Meta::Trait::Object(3p)

NAME
MooseX::POE::Meta::Trait::Object - The base class role for MooseX::POE

VERSION
version 0.215

SYNOPSIS
    package Counter;
    use MooseX::Poe;

    has name => (
        isa     => 'Str',
        is      => 'rw',
        default => sub { 'Foo ' },
    );

    has count => (
        isa     => 'Int',
        is      => 'rw',
        lazy    => 1,
        default => sub { 0 },
    );

    sub START {
        my ($self) = @_;
        $self->yield('increment');
    }

    sub increment {
        my ($self) = @_;
        $self->count( $self->count + 1 );
        $self->yield('increment') unless $self->count > 3;
    }

    no MooseX::Poe;

DESCRIPTION
MooseX::POE::Meta::TraitObject is a role that is applied to the object base classe (usually Moose::Object) that implements a POE::Session.

METHODS

  get_session_id
Get the internal POE Session ID, this is useful to hand to other POE aware functions.

  yield

  call

  delay

  alarm

  alarm_add

  delay_add

  alarm_set

  alarm_adjust

  alarm_remove

  alarm_remove_all

  delay_set

  delay_adjust
A cheap alias for the same POE::Kernel function which will gurantee posting to the object's session.

  STARTALL
Along similar lines to Moose's "BUILDALL" method which calls all the "BUILD" methods, this function will call all the "START" methods in your inheritance hierarchy automatically when POE first runs your session. (This corresponds to the "_start" event from POE.)

  STOPALL
Along similar lines to "STARTALL", but for "STOP" instead.

  START

  STOP

  DEFAULT

  CHILD

  PARENT

DEFAULT METHODS

PREDEFINED EVENTS

AUTHORS

•   Chris Prather <chris@prather.org>

•   Ash Berlin <ash@cpan.org>

•   Chris Williams <chris@bingosnet.co.uk>

•   Yuval (nothingmuch) Kogman

•   Torsten Raudssus <torsten@raudssus.de> <http://www.raudssus.de/>

COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.