diff options
author | dakkar <dakkar@thenautilus.net> | 2010-07-12 21:50:31 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-07-12 21:50:31 +0100 |
commit | 0581dbd91216c18ded2812ec9f3527c0a889da76 (patch) | |
tree | 37140af2843431af4e181911529a9922c24e8083 /t/lib/Test/Conduit.pm | |
parent | test for TT::Handle (diff) | |
download | Thread-Task-master.tar.gz Thread-Task-master.tar.bz2 Thread-Task-master.zip |
Diffstat (limited to 't/lib/Test/Conduit.pm')
-rw-r--r-- | t/lib/Test/Conduit.pm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/lib/Test/Conduit.pm b/t/lib/Test/Conduit.pm new file mode 100644 index 0000000..02454e7 --- /dev/null +++ b/t/lib/Test/Conduit.pm @@ -0,0 +1,30 @@ +use 5.008003; +use MooseX::Declare; + +class Test::Conduit with Thread::Task::Role::Conduit { + use Thread::Queue; + use Thread::Task::Types qw(Queue_T); + + has queue => ( + isa => Queue_T, + is => 'ro', + init_arg => undef, + default => sub { Thread::Queue->new }, + handles => { + signal => 'enqueue', + pop => 'dequeue', + }, + ); + + method runloop() { + while (my $msg=$self->pop) { + $self->manager->on_signal($msg); + } + } + + method runonce() { + $self->manager->on_signal($self->pop); + } +} + +1; |