… | |
… | |
77 | can use it through the L<AnyEvent> module, stay portable to other event |
77 | can use it through the L<AnyEvent> module, stay portable to other event |
78 | loops (if you don't rely on any watcher types not available through it) |
78 | loops (if you don't rely on any watcher types not available through it) |
79 | and still be faster than with any other event loop currently supported in |
79 | and still be faster than with any other event loop currently supported in |
80 | Perl. |
80 | Perl. |
81 | |
81 | |
|
|
82 | =head2 PORTING FROM EV 3.X to 4.X |
|
|
83 | |
|
|
84 | EV version 4 introduces a number of incompatible changes summarised |
|
|
85 | here. According to the depreciation strategy used by libev, there is a |
|
|
86 | compatibility layer in place so programs should continue to run unchanged |
|
|
87 | (the XS interface lacks this layer, so programs using that one need to be |
|
|
88 | updated). |
|
|
89 | |
|
|
90 | This compatibility layer will be switched off in some future release. |
|
|
91 | |
|
|
92 | All changes relevant to Perl are renames of symbols, functions and |
|
|
93 | methods: |
|
|
94 | |
|
|
95 | EV::loop => EV::run |
|
|
96 | EV::LOOP_NONBLOCK => EV::RUN_NOWAIT |
|
|
97 | EV::LOOP_ONESHOT => EV::RUN_ONCE |
|
|
98 | |
|
|
99 | EV::unloop => EV::break |
|
|
100 | EV::UNLOOP_CANCEL => EV::BREAK_CANCEL |
|
|
101 | EV::UNLOOP_ONE => EV::BREAK_ONE |
|
|
102 | EV::UNLOOP_ALL => EV::BREAK_ALL |
|
|
103 | |
|
|
104 | EV::TIMEOUT => EV::TIMER |
|
|
105 | |
|
|
106 | EV::loop_count => EV::iteration |
|
|
107 | EV::loop_depth => EV::depth |
|
|
108 | EV::loop_verify => EV::verify |
|
|
109 | |
|
|
110 | The loop object methods corresponding to the functions above have been |
|
|
111 | similarly renamed. |
|
|
112 | |
82 | =head2 MODULE EXPORTS |
113 | =head2 MODULE EXPORTS |
83 | |
114 | |
84 | This module does not export any symbols. |
115 | This module does not export any symbols. |
85 | |
116 | |
86 | =cut |
117 | =cut |
… | |
… | |
88 | package EV; |
119 | package EV; |
89 | |
120 | |
90 | use common::sense; |
121 | use common::sense; |
91 | |
122 | |
92 | BEGIN { |
123 | BEGIN { |
93 | our $VERSION = '4.00'; |
124 | our $VERSION = '4.02'; |
94 | use XSLoader; |
125 | use XSLoader; |
95 | XSLoader::load "EV", $VERSION; |
126 | XSLoader::load "EV", $VERSION; |
96 | } |
127 | } |
97 | |
128 | |
98 | @EV::IO::ISA = |
129 | @EV::IO::ISA = |
… | |
… | |
1157 | |
1188 | |
1158 | 1; |
1189 | 1; |
1159 | |
1190 | |
1160 | =head1 SEE ALSO |
1191 | =head1 SEE ALSO |
1161 | |
1192 | |
|
|
1193 | L<EV::MakeMaker> - MakeMaker interface to XS API, L<EV::ADNS> |
1162 | L<EV::ADNS> (asynchronous DNS), L<Glib::EV> (makes Glib/Gtk2 use EV as |
1194 | (asynchronous DNS), L<Glib::EV> (makes Glib/Gtk2 use EV as event |
1163 | event loop), L<EV::Glib> (embed Glib into EV), L<Coro::EV> (efficient |
1195 | loop), L<EV::Glib> (embed Glib into EV), L<Coro::EV> (efficient thread |
1164 | coroutines with EV), L<Net::SNMP::EV> (asynchronous SNMP), L<AnyEvent> for |
1196 | integration), L<Net::SNMP::EV> (asynchronous SNMP), L<AnyEvent> for |
1165 | event-loop agnostic and portable event driven programming. |
1197 | event-loop agnostic and portable event driven programming. |
1166 | |
1198 | |
1167 | =head1 AUTHOR |
1199 | =head1 AUTHOR |
1168 | |
1200 | |
1169 | Marc Lehmann <schmorp@schmorp.de> |
1201 | Marc Lehmann <schmorp@schmorp.de> |