… | |
… | |
57 | |
57 | |
58 | This module provides an interface to libev |
58 | This module provides an interface to libev |
59 | (L<http://software.schmorp.de/pkg/libev.html>). While the documentation |
59 | (L<http://software.schmorp.de/pkg/libev.html>). While the documentation |
60 | below is comprehensive, one might also consult the documentation of |
60 | below is comprehensive, one might also consult the documentation of |
61 | libev itself (L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod> or |
61 | libev itself (L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod> or |
62 | F<perldoc EV::c_doc>) for more subtle details on watcher semantics or some |
62 | F<perldoc EV::libev>) for more subtle details on watcher semantics or some |
63 | discussion on the available backends, or how to force a specific backend |
63 | discussion on the available backends, or how to force a specific backend |
64 | with C<LIBEV_FLAGS>, or just about in any case because it has much more |
64 | with C<LIBEV_FLAGS>, or just about in any case because it has much more |
65 | detailed information. |
65 | detailed information. |
66 | |
66 | |
67 | This module is very fast and scalable. It is actually so fast that you |
67 | This module is very fast and scalable. It is actually so fast that you |
… | |
… | |
126 | =item $loop = new EV::loop [$flags] |
126 | =item $loop = new EV::loop [$flags] |
127 | |
127 | |
128 | Create a new event loop as per the specified flags. Please refer to |
128 | Create a new event loop as per the specified flags. Please refer to |
129 | the C<ev_loop_new ()> function description in the libev documentation |
129 | the C<ev_loop_new ()> function description in the libev documentation |
130 | (L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTIONS>, |
130 | (L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTIONS>, |
131 | or locally-installed as F<EV::c_doc> manpage) for more info. |
131 | or locally-installed as F<EV::libev> manpage) for more info. |
132 | |
132 | |
133 | The loop will automatically be destroyed when it is no longer referenced |
133 | The loop will automatically be destroyed when it is no longer referenced |
134 | by any watcher and the loop object goes out of scope. |
134 | by any watcher and the loop object goes out of scope. |
135 | |
135 | |
136 | If you are not embedding the loop, then Using C<EV::FLAG_FORKCHECK> |
136 | If you are not embedding the loop, then Using C<EV::FLAG_FORKCHECK> |
… | |
… | |
284 | =item $loop->set_timeout_collect_interval ($time) |
284 | =item $loop->set_timeout_collect_interval ($time) |
285 | |
285 | |
286 | These advanced functions set the minimum block interval when polling for I/O events and the minimum |
286 | These advanced functions set the minimum block interval when polling for I/O events and the minimum |
287 | wait interval for timer events. See the libev documentation at |
287 | wait interval for timer events. See the libev documentation at |
288 | L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP> |
288 | L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP> |
289 | (locally installed as F<EV::c_doc>) for a more detailed discussion. |
289 | (locally installed as F<EV::libev>) for a more detailed discussion. |
290 | |
290 | |
291 | =back |
291 | =back |
292 | |
292 | |
293 | |
293 | |
294 | =head1 WATCHER OBJECTS |
294 | =head1 WATCHER OBJECTS |
… | |
… | |
958 | loop, other types of watchers might be handled in a delayed or incorrect |
958 | loop, other types of watchers might be handled in a delayed or incorrect |
959 | fashion and must not be used). |
959 | fashion and must not be used). |
960 | |
960 | |
961 | See the libev documentation at |
961 | See the libev documentation at |
962 | L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_embed_code_when_one_backend_> |
962 | L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_embed_code_when_one_backend_> |
963 | (locally installed as F<EV::c_doc>) for more details. |
963 | (locally installed as F<EV::libev>) for more details. |
964 | |
964 | |
965 | In short, this watcher is most useful on BSD systems without working |
965 | In short, this watcher is most useful on BSD systems without working |
966 | kqueue to still be able to handle a large number of sockets: |
966 | kqueue to still be able to handle a large number of sockets: |
967 | |
967 | |
968 | my $socket_loop; |
968 | my $socket_loop; |