moosex::poe::meta::trait::instance(3pm) [debian man page]
MooseX::POE::Meta::Trait::Instance(3pm) User Contributed Perl Documentation MooseX::POE::Meta::Trait::Instance(3pm)NAME
MooseX::POE::Meta::Trait::Instance - A Instance Metaclass for MooseX::POE
VERSION
version 0.215
SYNOPSIS
Moose::Util::MetaRole::apply_metaclass_roles(
for_class => $for_class,
metaclass_roles => [
'MooseX::POE::Meta::Trait::Class'
],
instance_metaclass_roles => [
'MooseX::POE::Meta::Trait::Instance',
],
);
DESCRIPTION
A metaclass for MooseX::POE. This module is only of use to developers so there is no user documentation provided.
METHODS
create_instance
get_slot_value
inline_slot_access
is_slot_initialized
set_slot_value
weaken_slot_value
get_session_id
METHODS AUTHORS
o Chris Prather <chris@prather.org>
o Ash Berlin <ash@cpan.org>
o Chris Williams <chris@bingosnet.co.uk>
o Yuval (nothingmuch) Kogman
o 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.
perl v5.14.2 2012-04-25 MooseX::POE::Meta::Trait::Instance(3pm)
Check Out this Related Man Page
MooseX::POE(3pm) User Contributed Perl Documentation MooseX::POE(3pm)NAME
MooseX::POE - The Illicit Love Child of Moose and POE
VERSION
version 0.215
SYNOPSIS
package Counter;
use MooseX::POE;
has count => (
isa => 'Int',
is => 'rw',
lazy => 1,
default => sub { 0 },
);
sub START {
my ($self) = @_;
$self->yield('increment');
}
event increment => sub {
my ($self) = @_;
print "Count is now " . $self->count . "
";
$self->count( $self->count + 1 );
$self->yield('increment') unless $self->count > 3;
};
no MooseX::POE;
Counter->new();
POE::Kernel->run();
or with MooseX::Declare:
class Counter {
use MooseX::POE::SweetArgs qw(event);
has count => (
isa => 'Int',
is => 'rw',
lazy => 1,
default => sub { 0 },
);
sub START {
my ($self) = @_;
$self->yield('increment')
}
event increment => sub {
my ($self) = @_;
print "Count is now " . $self->count . "
";
$self->count( $self->count + 1 );
$self->yield('increment') unless $self->count > 3;
}
}
Counter->new();
POE::Kernel->run();
DESCRIPTION
MooseX::POE is a Moose wrapper around a POE::Session.
METHODS
event $name $subref
Create an event handler named $name.
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
STOPALL
KEYWORDS METHODS
Default POE-related methods are provided by MooseX::POE::Meta::Trait::Object which is applied to your base class (which is usually
Moose::Object) when you use this module. See that module for the documentation for. Below is a list of methods on that class so you know
what to look for:
NOTES ON USAGE WITH MooseX::Declare
MooseX::Declare support is still "experimental". Meaning that I don't use it, I don't have any code that uses it, and thus I can't
adequately say that it won't cause monkeys to fly out of any orifices on your body beyond what the tests and the SYNOPSIS cover.
That said there are a few caveats that have turned up during testing.
1. The "method" keyword doesn't seem to work as expected. This is an integration issue that is being resolved but I want to wait for
MooseX::Declare to gain some more polish on their slurpy arguments.
2. MooseX::POE attempts to re-export Moose, which MooseX::Declare has already exported in a custom fashion. This means that you'll get a
keyword clash between the features that MooseX::Declare handles for you and the features that Moose handles. To work around this you'll
need to write:
use MooseX::POE qw(event);
# or
use MooseX::POE::SweetArgs qw(event);
# or
use MooseX::POE::Role qw(event);
to keep MooseX::POE from exporting the sugar that MooseX::Declare doesn't like. This is fixed in the Git version of MooseX::Declare but
that version (as of this writing) is not on the CPAN.
SEE ALSO AUTHORS
o Chris Prather <chris@prather.org>
o Ash Berlin <ash@cpan.org>
o Chris Williams <chris@bingosnet.co.uk>
o Yuval (nothingmuch) Kogman
o 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.
perl v5.14.2 2012-04-25 MooseX::POE(3pm)