Клас EvIdle

(PECL ev >= 0.2.0)

Вступ

Спостерігачі EvIdle викликають події тоді, коли жодні інші події такого ж чи вищого пріоритету не перебувають в очікуванні (EvPrepare EvCheck та інші спостерігачі EvIdleне считаются за получающиеподії

Таким чином, цей процес зайнятий обробкою сокетів або очікувань (або навіть сигналів) такого ж чи вищого пріоритету доти, доки він не буде активований. Але коли процес перебуває в режимі очікування (або в черзі лише спостерігачі з нижчим пріоритетом), спостерігачі EvIdle будуть викликатися один раз за ітерацію циклу подій - доки не будуть зупинені або доки процесом не будуть отримані нові повідомлення і він не буде зайнятий більш пріоритетними завданнями.

Крім підтримки неблокуючого процесу (корисний у деяких випадках), спостерігачі EvIdle є гарним місцем для виконання "псевдо-фонової обробки" або затримки обробки даних до того часу, поки цикл подій не опрацює всі виняткові події.

Найбільш помітний ефект проявляється в тому, що поки що сплячі спостерігачі активні, процес не блокуватиметься у процесі очікування нових подій.

Огляд класів


     
    
    
    
     
      class EvIdle
     
     
      extends
       EvWatcher
     
     {
    
    
    /* Наследуемые свойства */
    
     public
      $is_active;
public
      $data;
public
      $is_pending;
public
      $priority;

    /* Методы */
    
   public
   __construct(
    callable
     $callback
   , 
    mixed
     $data
    = ?, 
    int
     $priority
    = ?)

    final
   public
   static
   createStopped(
    string
     $callback
   , 
    mixed
     $data
    = ?, 
    int
     $priority
    = ?): object

    /* Наследуемые методы */
    public
   EvWatcher::clear(): int
public
   EvWatcher::feed(
    int
     $revents
   ): void
public
   EvWatcher::getLoop(): EvLoop
public
   EvWatcher::invoke(
    int
     $revents
   ): void
public
   EvWatcher::keepalive(
    bool
     $value
    = ?): bool
public
   EvWatcher::setCallback(
    callable
     $callback
   ): void
public
   EvWatcher::start(): void
public
   EvWatcher::stop(): void

   }

Зміст