Daisuke Maki > EV-Watcher-Bind > EV::Bind

Download:
EV-Watcher-Bind-0.00001.tar.gz

Annotate this POD

View/Report Bugs
Source  

NAME ^

EV::Bind - Easier Interface To EV's Callbacks

SYNOPSIS ^

  use EV;
  use EV::Watcher::Bind;

  EV::io_bind($fh, $mask, $callback, @args);

DESCRIPTION ^

Highly experimental. You've been warned.

EV::Watcher::Bind provides a simple interface to EV.pm's watcher methods that allows you to bind arguments as well as the watcher being created to the callback being registerd.

If you have, for example, an object that you want to use as your callback, you always need to do

  my $obj = ...;
  my @args = (1, 2, 3);
  my $io = EV::io($fh, $mask, sub { $obj->foo(@args) });

With EV::Watcher::Bind, you can do

  my $io = EV::io_bind($fh, $mask, \&foo, $obj, @args);

The functions provided by EV::Watcher::Bind also has the advantage of passing you the EV::Watcher object that caused your callback to execute as the last argument in your callback. In the above example, foo() could have be implemented like so:

  sub foo {
    my ($self, $arg1, $arg2, $arg3, $w) = @_;
    $w->stop;
  }

METHODS ^

EV::Watcher::Bind provides the following functions:

EV::io_bind

EV::io_ns_bind

EV::timer_bind

EV::timer_ns_bind

EV::periodic_bind

EV::periodic_ns_bind

EV::signal_bind

EV::signal_ns_bind

EV::child_bind

EV::child_ns_bind

EV::idle_bind

EV::idle_ns_bind

EV::prepare_bind

EV::prepare_ns_bind

EV::check_bind

EV::check_ns_bind

AUTHOR ^

Copyright (c) 2007 Daisuke Maki <daisuke@endeworks.jp>

LICENSE ^

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

syntax highlighting: