… | |
… | |
71 | |
71 | |
72 | =cut |
72 | =cut |
73 | |
73 | |
74 | package EV; |
74 | package EV; |
75 | |
75 | |
|
|
76 | no warnings; |
76 | use strict; |
77 | use strict; |
77 | |
78 | |
78 | BEGIN { |
79 | BEGIN { |
79 | our $VERSION = '3.42'; |
80 | our $VERSION = '3.43'; |
80 | use XSLoader; |
81 | use XSLoader; |
81 | XSLoader::load "EV", $VERSION; |
82 | XSLoader::load "EV", $VERSION; |
82 | } |
83 | } |
83 | |
84 | |
84 | @EV::IO::ISA = |
85 | @EV::IO::ISA = |
… | |
… | |
111 | default loop as this is fastest (perl-wise), best supported by other |
112 | default loop as this is fastest (perl-wise), best supported by other |
112 | modules (e.g. AnyEvent or Coro) and most portable event loop. |
113 | modules (e.g. AnyEvent or Coro) and most portable event loop. |
113 | |
114 | |
114 | For specific programs you can create additional event loops dynamically. |
115 | For specific programs you can create additional event loops dynamically. |
115 | |
116 | |
|
|
117 | If you want to take avdantage of kqueue (which often works properly for |
|
|
118 | sockets only) even though the default loop doesn't enable it, you can |
|
|
119 | I<embed> a kqueue loop into the default loop: running the default loop |
|
|
120 | will then also service the kqueue loop to some extent. See the example in |
|
|
121 | the section about embed watchers for an example on how to achieve that. |
|
|
122 | |
116 | =over 4 |
123 | =over 4 |
117 | |
124 | |
118 | =item $loop = new EV::loop [$flags] |
125 | =item $loop = new EV::loop [$flags] |
119 | |
126 | |
120 | Create a new event loop as per the specified flags. Please refer to the |
127 | Create a new event loop as per the specified flags. Please refer to the |
… | |
… | |
136 | documentation). |
143 | documentation). |
137 | |
144 | |
138 | =item $loop->loop_verify |
145 | =item $loop->loop_verify |
139 | |
146 | |
140 | Calls C<ev_verify> to make internal consistency checks (for debugging |
147 | Calls C<ev_verify> to make internal consistency checks (for debugging |
141 | libev) and abort the program if any data structures wree found to be |
148 | libev) and abort the program if any data structures were found to be |
142 | corrupted. |
149 | corrupted. |
143 | |
150 | |
144 | =item $loop = EV::default_loop [$flags] |
151 | =item $loop = EV::default_loop [$flags] |
145 | |
152 | |
146 | Return the default loop (which is a singleton object). Since this module |
153 | Return the default loop (which is a singleton object). Since this module |
147 | already creates the default loop with default flags, specifying flags here |
154 | already creates the default loop with default flags, specifying flags here |
148 | will not have any effect unless you destroy the default loop. |
155 | will not have any effect unless you destroy the default loop first, which |
|
|
156 | isn't supported. So in short: don't do it, and if you break it, you get to |
|
|
157 | keep the pieces. |
149 | |
158 | |
150 | =back |
159 | =back |
151 | |
160 | |
152 | |
161 | |
153 | =head1 BASIC INTERFACE |
162 | =head1 BASIC INTERFACE |