diff options
author | dakkar <dakkar@sardina.(none)> | 2009-08-06 15:15:03 +0200 |
---|---|---|
committer | dakkar <dakkar@sardina.(none)> | 2009-08-06 15:15:03 +0200 |
commit | 4de7ff82b202dbef8c57954126932710fe1a82bd (patch) | |
tree | 3b7b12012cd4a5d8892b88fe18164e3439c3c523 /lib/Thread/Queue/Event | |
parent | dequeue_nb but untested (diff) | |
download | Thread-Queue-Event-master.tar.gz Thread-Queue-Event-master.tar.bz2 Thread-Queue-Event-master.zip |
Diffstat (limited to 'lib/Thread/Queue/Event')
-rw-r--r-- | lib/Thread/Queue/Event/AnyEvent.pm | 17 | ||||
-rw-r--r-- | lib/Thread/Queue/Event/Glib.pm | 2 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/Thread/Queue/Event/AnyEvent.pm b/lib/Thread/Queue/Event/AnyEvent.pm new file mode 100644 index 0000000..1435708 --- /dev/null +++ b/lib/Thread/Queue/Event/AnyEvent.pm @@ -0,0 +1,17 @@ +package Thread::Queue::Event::AnyEvent; +use Moose::Role; +use AnyEvent; + +requires 'event_fh'; + +sub callback { + my ($self,$sub)=@_; + + AnyEvent->io( + fh => $self->event_fh, + poll=>'r', + cb => $sub); +} + +no Moose; +1; diff --git a/lib/Thread/Queue/Event/Glib.pm b/lib/Thread/Queue/Event/Glib.pm index 1c36c99..ed97efa 100644 --- a/lib/Thread/Queue/Event/Glib.pm +++ b/lib/Thread/Queue/Event/Glib.pm @@ -4,7 +4,7 @@ use Glib; requires 'event_fileno'; -sub add_watch { +sub callback { my ($self,$sub)=@_; Glib::IO->add_watch($self->event_fileno,'in',$sub); |