Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

evio(3) [php man page]

EVIO(3) 								 1								   EVIO(3)

The EvIo class

INTRODUCTION
EvIo watchers check whether a file descriptor(or socket, or a stream castable to numeric file descriptor) is readable or writable in each iteration of the event loop, or, more precisely, when reading would not block the process and writing would at least be able to write some data. This behaviour is called level-triggering because events are kept receiving as long as the condition persists. To stop receiving events just stop the watcher. The number of read and/or write event watchers per $fd is unlimited. Setting all file descriptors to non-blocking mode is also usually a good idea(but not required). Another thing to watch out for is that it is quite easy to receive false readiness notifications, i.e. the callback might be called with Ev::READ but a subsequent read() will actually block because there is no data. It is very easy to get into this situation. Thus it is best to always use non-blocking I/O: An extra read() returning EAGAIN (or similar) is far preferable to a program hanging until some data arrives. If for some reason it is impossible to run the $fd in non-blocking mode, then separately re-test whether a file descriptor is really ready. Some people additionally use SIGALRM and an interval timer, just to be sure thry won't block infinitely. Always consider using non-blocking mode. CLASS SYNOPSIS
EvIo EvIoextends EvWatcher Properties o public$fd o public$events Inherited properties o public$is_active o public$data o public$is_pending o public$priority Methods o public EvIo::__construct (mixed $fd, int $events, callable $callback, [mixed $data], [int $priority]) o finalpublicstatic EvIo EvIo::createStopped NULL (mixed $fd, int $events, callable $callback, [mixed $data], [int $priority]) o public void EvIo::set (mixed $fd, int $events) Inherited methods o public int EvWatcher::clear (void ) o abstractpublic EvWatcher::__construct (void ) o public void EvWatcher::feed (int $revents) o public EvLoop EvWatcher::getLoop (void ) o public void EvWatcher::invoke (int $revents) o public bool EvWatcher::keepalive ([bool $value]) o public void EvWatcher::setCallback (callable $callback) o public void EvWatcher::start (void ) o public void EvWatcher::stop (void ) PROPERTIES
o $fd - o $events - PHP Documentation Group EVIO(3)

Check Out this Related Man Page

EVSTAT(3)								 1								 EVSTAT(3)

The EvStat class

INTRODUCTION
EvStat monitors a file system path for attribute changes. It calls stat() on that path in regular intervals(or when the OS signals it changed) and sees if it changed compared to the last time, invoking the callback if it did. The path does not need to exist: changing from "path exists" to "path does not exist" is a status change like any other. The condition "path does not exist" is signified by the 'nlink' item being 0(returned by EvStat::attr method). The path must not end in a slash or contain special components such as '.' or .. . The path should be absolute: if it is relative and the working directory changes, then the behaviour is undefined. Since there is no portable change notification interface available, the portable implementation simply calls stat() regularly on the path to see if it changed somehow. For this case a recommended polling interval can be specified. If one specifies a polling interval of 0.0 (highly recommended) then a suitable, unspecified default value will be used(which could be expected to be around 5 seconds, although this might change dynamically). libev will also impose a minimum interval which is currently around 0.1 , but that's usually overkill. This watcher type is not meant for massive numbers of EvStat watchers, as even with OS-supported change notifications, this can be resource-intensive. CLASS SYNOPSIS
EvStat EvStatextends EvWatcher Properties o public$path o public$interval Inherited properties o public$is_active o public$data o public$is_pending o public$priority Methods o public array EvStat::attr (void ) o public EvStat::__construct NULL (string $path, double $interval, callable $callback, [mixed $data], [int $priority]) o finalpublicstatic void EvStat::createStopped NULL (string $path, double $interval, callable $callback, [mixed $data], [int $prior- ity]) o public void EvStat::prev (void ) o public void EvStat::set (string $path, double $interval) o public bool EvStat::stat (void ) Inherited methods o public int EvWatcher::clear (void ) o abstractpublic EvWatcher::__construct (void ) o public void EvWatcher::feed (int $revents) o public EvLoop EvWatcher::getLoop (void ) o public void EvWatcher::invoke (int $revents) o public bool EvWatcher::keepalive ([bool $value]) o public void EvWatcher::setCallback (callable $callback) o public void EvWatcher::start (void ) o public void EvWatcher::stop (void ) PROPERTIES
o $interval - Readonly . Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value. o $path - Readonly . The path to wait for status changes on. PHP Documentation Group EVSTAT(3)
Man Page