Scroll to navigation

MooseX::POE::Meta::Trait::Object(3pm) User Contributed Perl Documentation MooseX::POE::Meta::Trait::Object(3pm)

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.

2018-03-30 perl v5.26.1