MooseX::POE::Meta::Trait::Object - The base class role for MooseX::POE
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;
MooseX::POE::Meta::TraitObject is a role that is applied to the object base
classe (usually Moose::Object) that implements a POE::Session.
Get the internal POE Session ID, this is useful to hand to other POE aware
functions.
A cheap alias for the same POE::Kernel function which will gurantee posting to
the object's session.
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.)
Along similar lines to "STARTALL", but for
"STOP" instead.
- 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/>
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.