… | |
… | |
91 | *embed* a kqueue loop into the default loop: running the default loop |
91 | *embed* a kqueue loop into the default loop: running the default loop |
92 | will then also service the kqueue loop to some extent. See the example |
92 | will then also service the kqueue loop to some extent. See the example |
93 | in the section about embed watchers for an example on how to achieve |
93 | in the section about embed watchers for an example on how to achieve |
94 | that. |
94 | that. |
95 | |
95 | |
96 | $loop = new EV::loop [$flags] |
96 | $loop = new EV::Loop [$flags] |
97 | Create a new event loop as per the specified flags. Please refer to |
97 | Create a new event loop as per the specified flags. Please refer to |
98 | the "ev_loop_new ()" function description in the libev documentation |
98 | the "ev_loop_new ()" function description in the libev documentation |
99 | (<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTI |
99 | (<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#GLOBAL_FUNCTI |
100 | ONS>, or locally-installed as EV::libev manpage) for more info. |
100 | ONS>, or locally-installed as EV::libev manpage) for more info. |
101 | |
101 | |
… | |
… | |
151 | $time = EV::now |
151 | $time = EV::now |
152 | $time = $loop->now |
152 | $time = $loop->now |
153 | Returns the time the last event loop iteration has been started. |
153 | Returns the time the last event loop iteration has been started. |
154 | This is the time that (relative) timers are based on, and referring |
154 | This is the time that (relative) timers are based on, and referring |
155 | to it is usually faster then calling EV::time. |
155 | to it is usually faster then calling EV::time. |
|
|
156 | |
|
|
157 | EV::now_update |
|
|
158 | $loop->now_update |
|
|
159 | Establishes the current time by querying the kernel, updating the |
|
|
160 | time returned by "EV::now" in the progress. This is a costly |
|
|
161 | operation and is usually done automatically within "EV::loop". |
|
|
162 | |
|
|
163 | This function is rarely useful, but when some event callback runs |
|
|
164 | for a very long time without entering the event loop, updating |
|
|
165 | libev's idea of the current time is a good idea. |
|
|
166 | |
|
|
167 | EV::suspend |
|
|
168 | $loop->suspend |
|
|
169 | EV::resume |
|
|
170 | $loop->resume |
|
|
171 | These two functions suspend and resume a loop, for use when the loop |
|
|
172 | is not used for a while and timeouts should not be processed. |
|
|
173 | |
|
|
174 | A typical use case would be an interactive program such as a game: |
|
|
175 | When the user presses "^Z" to suspend the game and resumes it an |
|
|
176 | hour later it would be best to handle timeouts as if no time had |
|
|
177 | actually passed while the program was suspended. This can be |
|
|
178 | achieved by calling "suspend" in your "SIGTSTP" handler, sending |
|
|
179 | yourself a "SIGSTOP" and calling "resume" directly afterwards to |
|
|
180 | resume timer processing. |
|
|
181 | |
|
|
182 | Effectively, all "timer" watchers will be delayed by the time spend |
|
|
183 | between "suspend" and "resume", and all "periodic" watchers will be |
|
|
184 | rescheduled (that is, they will lose any events that would have |
|
|
185 | occured while suspended). |
|
|
186 | |
|
|
187 | After calling "suspend" you must not call *any* function on the |
|
|
188 | given loop other than "resume", and you must not call "resume" |
|
|
189 | without a previous call to "suspend". |
|
|
190 | |
|
|
191 | Calling "suspend"/"resume" has the side effect of updating the event |
|
|
192 | loop time (see "now_update"). |
156 | |
193 | |
157 | $backend = EV::backend |
194 | $backend = EV::backend |
158 | $backend = $loop->backend |
195 | $backend = $loop->backend |
159 | Returns an integer describing the backend used by libev |
196 | Returns an integer describing the backend used by libev |
160 | (EV::BACKEND_SELECT or EV::BACKEND_EPOLL). |
197 | (EV::BACKEND_SELECT or EV::BACKEND_EPOLL). |