首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EvIdle (class)

Introduction

(PECL ev >= 0.2.0)

EvIdle watchers trigger events when no other events of the same or higher priority are pending ( EvPrepare , EvCheck and other EvIdle watchers do not count as receiving events ).

Thus, as long as the process is busy handling sockets or timeouts(or even signals) of the same or higher priority it will not be triggered. But when the process is in idle(or only lower-priority watchers are pending), the EvIdle watchers are being called once per event loop iteration - until stopped, that is, or the process receives more events and becomes busy again with higher priority stuff.

Apart from keeping the process non-blocking(which is a useful on its own sometimes), EvIdle watchers are a good place to do "pseudo-background processing" , or delay processing stuff to after the event loop has handled all outstanding events.

The most noticeable effect is that as long as any idle watchers are active, the process will not block when waiting for new events.

Class synopsis

EvIdle extends EvWatcher {

/* Inherited properties */

public $is_active ;

public $data ;

public $is_pending ;

public $priority ;

/* Methods */

代码语言:javascript
复制
public __construct (  callable $callback  [,  mixed $data  [,  int $priority  ]] )
代码语言:javascript
复制
final public static object createStopped (  string $callback  [,  mixed $data  [,  int $priority  ]] )

/* Inherited methods */

代码语言:javascript
复制
public int EvWatcher::clear ( void )
代码语言:javascript
复制
abstract public EvWatcher::__construct ( void )
代码语言:javascript
复制
public void EvWatcher::feed (  int $revents  )
代码语言:javascript
复制
public EvLoop EvWatcher::getLoop ( void )
代码语言:javascript
复制
public void EvWatcher::invoke (  int $revents  )
代码语言:javascript
复制
public bool EvWatcher::keepalive ([  bool $value  ] )
代码语言:javascript
复制
public void EvWatcher::setCallback (  callable $callback  )
代码语言:javascript
复制
public void EvWatcher::start ( void )
代码语言:javascript
复制
public void EvWatcher::stop ( void )

}

Table of Contents

  • EvIdle::__construct — Constructs the EvIdle watcher object
  • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object

← EvFork::createStopped

EvIdle::__construct →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com