名称

Mojo::Reactor::EV-支持libev的低级别事件反应堆

简介

使用Mojo::Reactor::EV;#观察句柄是否可读写my$reactor=Mojo::reactor::EV->new;$reactor->io($first=>sub($reactor,$writable){说$writable?”第一个句柄可写':'第一个句柄可读';});#仅当句柄变为可写时才更改为监视$reactor->watch($first,0,1);#将文件描述符转换为句柄并观察其是否可读my$second=IO::Handle->new_from_fd($fd,'r');$reactor->io($second=>sub($reactor,$writable){说$writable?”第二个句柄是可写的':'第二个手柄是可读的';})->手表($second,1,0);#添加计时器$reactor->计时器(15=>sub($reactor){$reactor->移除($first);$reactor->移除($second);说“超时!”;});#必要时启动反应器$reactor->启动,除非$reactor->is_running;

描述

Mojo::电抗器::EV是基于电动汽车(4.32+).

活动

Mojo::电抗器::EV从继承所有事件Mojo::反应堆::轮询.

方法

Mojo::电抗器::EV从继承所有方法Mojo::反应堆::轮询并实现以下新功能。

再一次

$reactor->再次($id);$reactor->再次($id,0.5);

重新启动计时器,并可选择更改调用时间。请注意,此方法需要活动计时器。

新的

my$reactor=Mojo::reactor::EV->new;

构建新的Mojo::电抗器::EV对象。

一次点击

$reactor->one_tick;

运行reactor,直到事件发生或不再监视任何事件。

#阻挡时间不要超过0.5秒我的$id=$reactor->计时器(0.5=>子{});$reactor->one_tick;$reactor->remove($id);

再发生

我的$id=$reactor->循环(0.25=>子{…});

创建一个新的循环计时器,在给定的时间(秒)后重复调用回调。

开始

$reactor->启动;

开始监视I/O和计时器事件,这将阻止,直到“停止”被呼叫或不再观看任何活动。

#仅在反应堆未运行时启动反应堆$reactor->启动,除非$reactor->is_running;

停止

$反应器->停止;

停止监视I/O和计时器事件。

计时器

我的$id=$reactor->计时器(0.5=>子{…});

创建一个新计时器,在给定的时间(秒)后调用回调。

$reactor=$reactor->watch($handle,$readable,$writable);

使用true和false值更改I/O事件以监视句柄。请注意,此方法需要一个活动的I/O观察程序。

#只监视可读事件$reactor->watch($handle,1,0);#只监视可写事件$reactor->watch($handle,0,1);#注意可读写事件$reactor->watch($handle,1,1);#暂停监视事件$reactor->watch($handle,0,0);

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.