From 0581dbd91216c18ded2812ec9f3527c0a889da76 Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 12 Jul 2010 21:50:31 +0100 Subject: test for TT::Manager & signaling --- t/lib/Test/Conduit.pm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 t/lib/Test/Conduit.pm (limited to 't/lib/Test/Conduit.pm') 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; -- cgit v1.2.3