… | |
… | |
2509 | io.start (fd, ev::READ); |
2509 | io.start (fd, ev::READ); |
2510 | } |
2510 | } |
2511 | }; |
2511 | }; |
2512 | |
2512 | |
2513 | |
2513 | |
|
|
2514 | =head1 OTHER LANGUAGE BINDINGS |
|
|
2515 | |
|
|
2516 | Libev does not offer other language bindings itself, but bindings for a |
|
|
2517 | numbe rof languages exist in the form of third-party packages. If you know |
|
|
2518 | any interesting language binding in addition to the ones listed here, drop |
|
|
2519 | me a note. |
|
|
2520 | |
|
|
2521 | =over 4 |
|
|
2522 | |
|
|
2523 | =item Perl |
|
|
2524 | |
|
|
2525 | The EV module implements the full libev API and is actually used to test |
|
|
2526 | libev. EV is developed together with libev. Apart from the EV core module, |
|
|
2527 | there are additional modules that implement libev-compatible interfaces |
|
|
2528 | to C<libadns> (C<EV::ADNS>), C<Net::SNMP> (C<Net::SNMP::EV>) and the |
|
|
2529 | C<libglib> event core (C<Glib::EV> and C<EV::Glib>). |
|
|
2530 | |
|
|
2531 | It can be found and installed via CPAN, its homepage is found at |
|
|
2532 | L<http://software.schmorp.de/pkg/EV>. |
|
|
2533 | |
|
|
2534 | =item Ruby |
|
|
2535 | |
|
|
2536 | Tony Arcieri has written a ruby extension that offers access to a subset |
|
|
2537 | of the libev API and adds filehandle abstractions, asynchronous DNS and |
|
|
2538 | more on top of it. It can be found via gem servers. Its homepage is at |
|
|
2539 | L<http://rev.rubyforge.org/>. |
|
|
2540 | |
|
|
2541 | =item D |
|
|
2542 | |
|
|
2543 | Leandro Lucarella has written a D language binding (F<ev.d>) for libev, to |
|
|
2544 | be found at L<http://git.llucax.com.ar/?p=software/ev.d.git;a=summary>. |
|
|
2545 | |
|
|
2546 | =back |
|
|
2547 | |
|
|
2548 | |
2514 | =head1 MACRO MAGIC |
2549 | =head1 MACRO MAGIC |
2515 | |
2550 | |
2516 | Libev can be compiled with a variety of options, the most fundamantal |
2551 | Libev can be compiled with a variety of options, the most fundamantal |
2517 | of which is C<EV_MULTIPLICITY>. This option determines whether (most) |
2552 | of which is C<EV_MULTIPLICITY>. This option determines whether (most) |
2518 | functions and callbacks have an initial C<struct ev_loop *> argument. |
2553 | functions and callbacks have an initial C<struct ev_loop *> argument. |