Eio
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Eio
Референца за `class.ev.php` со подобрена типографија и навигација.
Класата Ev
Класата EvPrepare
Вовед
Класата Ev
Синопсис на класата
Претходно дефинирани константи
Ev е статичка класа што обезбедува пристап до стандардната јамка и до некои вообичаени операции.
-
Ev::FLAG_AUTO - Знаменца предадени за создавање јамка:
-
Ev::FLAG_NOENV -
Стандардната вредност на знаменцата
libevАко се користи ова знаменце (или програмата работи setuid или setgid), LIBEV_FLAGSнема да гледа на променливата на опкружувањето LIBEV_FLAGS . Инаку (по стандард), -
Ev::FLAG_FORKCHECK -
ќе ги надвладее знаменцата целосно ако се најде. Корисно за тестови за перформанси и барање грешки.
Го тера libev да проверува за fork во секоја итерација, наместо да повикува
EvLoop::fork()
getpid()рачно. Ова функционира со повикување LIBEV_FLAGS променливата на околината. -
Ev::FLAG_NOINOTIFY -
на секоја итерација на јамката, и затоа ова може да ја забави јамката на настани со многу итерации на јамката, но обично не е забележливо. Ова поставување на знаменце не може да се надвладее или специфицира во
libevКога е специфицирано ова знаменце,inotifyнема да се обиде да го користи API за неговите » ev_statev_statнабљудувачи. Знаменцето може да биде корисно за зачувување на inotify дескриптори на датотеки, бидејќи инаку секоја јамка што користиinotifyhandle. -
Ev::FLAG_SIGNALFD -
на секоја итерација на јамката, и затоа ова може да ја забави јамката на настани со многу итерации на јамката, но обично не е забележливо. Ова поставување на знаменце не може да се надвладее или специфицира во
libevнабљудувачи троши еденsignalfdнема да се обиде да го користи ќе се обиде да го користи (и » ev_child) гледачи. Оваа API испорачува сигнали синхроно, што ја прави побрза и можеби овозможува добивање на сигналите од редот. Исто така може да го поедностави ракувањето со сигнали со нишки, сè додека сигналите се соодветно блокирани во нишките.Signalfdнема да се користи по дифолт. -
Ev::FLAG_NOSIGMASK -
на секоја итерација на јамката, и затоа ова може да ја забави јамката на настани со многу итерации на јамката, но обично не е забележливо. Ова поставување на знаменце не може да се надвладее или специфицира во
libevќе избегне да го менува маскирањето на сигналите. Конкретно, ова значи дека треба да се осигурате дека сигналите се одблокирани пред да ги примите. Ова однесување е корисно за прилагодено ракување со сигнали, или ракување со сигнали само во специфични нишки.
Знаменца предадени на набљудувачот нема да продолжи, или Не е дозволено да се повикува
-
Ev::RUN_NOWAIT - Значи дека циклусот на настани ќе бара нови настани, ќе ги обработи тие настани и сите веќе постоечки, но нема да чека и да го блокира процесот во случај да нема настани и ќе се врати по една итерација на циклусот. Ова понекогаш е корисно за анкетирање и обработка на нови настани додека се вршат долги пресметки, за да се одржи програмата одзивна.
-
Ev::RUN_ONCE - Значи дека циклусот на настани ќе бара нови настани (чекајќи доколку е потребно) и ќе ги обработи тие и сите веќе постоечки. Тој ќе го блокира процесот додека не пристигне барем еден нов настан (што може да биде настан внатрешен за самиот libev, така што нема гаранција дека ќе биде повикан кориснички регистриран callback), и ќе се врати по една итерација на циклусот.
Знаменца предадени на . Се враќа кога повикот ќе повика, или EvLoop::stop()
-
Ev::BREAK_CANCEL - Откажи ја операцијата за прекин.
-
Ev::BREAK_ONE - Го прави највнатрешниот набљудувачот нема да продолжи (или Не е дозволено да се повикува) повик да се врати.
-
Ev::BREAK_ALL - Ги прави сите вгнездени набљудувачот нема да продолжи (или Не е дозволено да се повикува) повици да се вратат.
Приоритети на гледачи:
-
Ev::MINPRI - Минимален дозволен приоритет на гледач.
-
Ev::MAXPRI - Максимален дозволен приоритет на гледач.
Битови маски на (примени) настани:
-
Ev::READ - Дескрипторот на датотеката во EvIo набљудувачот стана читлив.
-
Ev::WRITE - Дескрипторот на датотеката во EvIo набљудувачот стана запишлив.
-
Ev::TIMER - EvTimer набљудувачот истече.
-
Ev::PERIODIC - EvPeriodic набљудувачот истече.
-
Ev::SIGNAL - Сигнал наведен во EvSignal::__construct() е примен.
-
Ev::CHILD -
На
pidнаведен во EvChild::__construct() прими промена на статусот. -
Ev::STAT - Патеката наведена во EvStat набљудувачот ги промени своите атрибути.
-
Ev::IDLE - EvIdle набљудувачот работи кога нема што да се прави со други набљудувачи.
-
Ev::PREPARE - Сите EvPrepare набљудувачите се повикуваат непосредно пред набљудувачот нема да продолжи започнува. EvPrepare Така,
-
Ev::CHECK - Сите EvCheck набљудувачите се последните набљудувачи повикани пред циклусот на настани да заспие или да бара нови настани. набљудувачот нема да продолжи набљудувачите се редат непосредно по EvCheck ги собра новите настани, но пред да ги реди било какви повици за какви било примени настани.
-
Ev::EMBED - Така, EvEmbed набљудувачот бара внимание.
-
Ev::CUSTOM -
Никогаш не се испраќа (или на друг начин не се користи) од
libevсамото, но може слободно да се користи одlibevкорисниците за сигнализирање на набљудувачите (на пр. преку EvWatcher::feed() ). -
Ev::ERROR -
Се појави неспецифична грешка, набљудувачот е запрен. Ова може да се случи затоа што набљудувачот не можеше правилно да се стартува поради
libevснема меморија, се покажа дека дескрипторот на датотеката е затворен или било кој друг проблем.Libevсмета дека ова се грешки во апликацијата. Погледнете исто така » АНАТОМИЈА НА НАБЉУДУВАЧ
Знаменца на бекендот:
-
Ev::BACKEND_SELECT -
select(2) backend -
Ev::BACKEND_POLL -
poll(2) backend -
Ev::BACKEND_EPOLL -
Linux-specific
epoll(7)бекенд за претходни и пост-2.6.9 јадра -
Ev::BACKEND_KQUEUE -
kqueueбекенд што се користи на повеќето BSD системи. EvEmbed набљудувачот може да се користи за вградување на една јамка (со kqueue бекенд) во друга. На пример, може да се обидете да креирате јамка за настани соkqueueбекенд и да го користите само за сокети. -
Ev::BACKEND_DEVPOLL - Solaris 8 бекенд. Ова сè уште не е имплементирано.
-
Ev::BACKEND_PORT - Solaris 10 механизам за порта за настани со добро скалирање.
-
Ev::BACKEND_ALL -
Пробајте ги сите бекенди (дури и оштетени). Не се препорачува да се користи експлицитно. Овде треба да се применат бинарни оператори (на пр.
Ev::BACKEND_ALL& ~Ev::BACKEND_KQUEUE) Користи комбинирани со помош на бинарни операции, или воопшто не специфицирајте бекенди. -
Ev::BACKEND_MASK -
Не е бекенд, туку маска за избирање на сите бекенд битови од
flagsНе е бекенд, туку маска за избирање на сите бекенд битови од LIBEV_FLAGS вредност за маскирање на сите бекенди (на пр. при менување на
Забелешка: променливата на околината).
Evregisters За стандардната петка за време на фазата на иницијализација на модулот » ev_loop_forkpthread_atforkповик преку
Забелешка: (ако е достапно). основниот циклус на настани in Eio Постојат методи кои обезбедуваат пристап до Ev::iteration(), Ev::depth() класата (на пр. итн.) За прилагодени петки (создадени соEvLoop::__construct() EvLoop class. ) овие вредности може да се пристапат преку соодветните својства и методи на EvLoop::defaultLoop() method.
Содржина
- Ev::backend » документацијата на libev
- Ev::depth — Враќа цел број што го опишува бекендот што го користи libev
- Ev::embeddableBackends — Враќа длабочина на рекурзија
- Ev::feedSignal — Враќа множество на бекенди што можат да бидат вградени во други петљи за настани
- Ev::feedSignalEvent — Внесува информации за сигнални настани Ev
- Ev::iteration — Внесува сигнални настани во стандардната петља
- Ev::now — Враќа број на пати кога стандардната петља за настани барала нови настани
- Ev::nowUpdate — Враќа време кога започнала последната итерација на стандардната петља за настани
- Ev::recommendedBackends — Ја воспоставува тековната временска ознака со прашување на јадрото, ажурирајќи ја во исто време временската ознака вратена од Ev::now
- Ev::resume — Враќа битна маска на препорачани бекенди за тековната платформа
- Ev::run — Продолжува претходно суспендирана стандардна петља за настани
- Ev::sleep — Блокирај го процесот за дадениот број на секунди
- Ev::stop — Блокирај го процесот за дадениот број на секунди
- Ev::supportedBackends — Го запира стандардното циклусно повторување на настани
- Ev::suspend — Враќа множество на бекенди поддржани од тековната libev конфигурација
- Ev::time — Го суспендира стандардното циклусно повторување на настани
- Ev::verify — Враќа тековно време во фракциони секунди од епохата