diff --git a/reference/libevent/book.xml b/reference/libevent/book.xml new file mode 100644 index 0000000000..b377c0b9f2 --- /dev/null +++ b/reference/libevent/book.xml @@ -0,0 +1,52 @@ + + + + + + + Libevent + Libevent + + + + &reftitle.intro; + + Libevent is a library that provides a mechanism to execute a callback + function when a specific event occurs on a file descriptor or after a + timeout has been reached. + + + More information about Libevent can be found at &url.libevent;. + + + + + &reference.libevent.setup; + &reference.libevent.constants; + &reference.libevent.examples; + &reference.libevent.reference; + + + + + diff --git a/reference/libevent/constants.xml b/reference/libevent/constants.xml new file mode 100644 index 0000000000..1f437afa7a --- /dev/null +++ b/reference/libevent/constants.xml @@ -0,0 +1,108 @@ + + + + + &reftitle.constants; + &extension.constants; + + + + EV_TIMEOUT + (integer) + + + + + + + + + + EV_READ + (integer) + + + + + + + + + + EV_WRITE + (integer) + + + + + + + + + + EV_SIGNAL + (integer) + + + + + + + + + + EV_PERSIST + (integer) + + + + + + + + + + EVLOOP_NONBLOCK + (integer) + + + + + + + + + + EVLOOP_ONCE + (integer) + + + + + + + + + + + + diff --git a/reference/libevent/examples.xml b/reference/libevent/examples.xml new file mode 100644 index 0000000000..59f9475697 --- /dev/null +++ b/reference/libevent/examples.xml @@ -0,0 +1,43 @@ + + + + + &reftitle.examples; + + + libevent extension overview example + + +]]> + + + + + + + + + diff --git a/reference/libevent/functions/event-add.xml b/reference/libevent/functions/event-add.xml new file mode 100644 index 0000000000..6d4c09fd50 --- /dev/null +++ b/reference/libevent/functions/event-add.xml @@ -0,0 +1,80 @@ + + + + + event_add + Add an event to the set of monitored events + + + + &reftitle.description; + + boolevent_add + resourceevent + inttimeout + + + event_add schedules the execution of the event + when the event specified in event_set occurs or in at least the time + specified by the timeout argument. If + timeout was not specified, not timeout is set. The + event must be already initalized by event_set + and event_base_set functions. If the + event already has a timeout set, it is replaced by + the new one. + + + + + &reftitle.parameters; + + + + event + + + Valid event resource. + + + + + timeout + + + Optional timeout (in microseconds). + + + + + + + + + &reftitle.returnvalues; + + returns or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-base-free.xml b/reference/libevent/functions/event-base-free.xml new file mode 100644 index 0000000000..4ba2d345b5 --- /dev/null +++ b/reference/libevent/functions/event-base-free.xml @@ -0,0 +1,59 @@ + + + + + event_base_free + Destroy event base + + + + &reftitle.description; + + voidevent_base_free + resourceevent_base + + + Destroys the specified event_base and frees all the + resources associated. Note that it's not possible to destroy an event base + with events attached to it. + + + + + &reftitle.parameters; + + + + event_base + + + Valid event base resource. + + + + + + + + + + diff --git a/reference/libevent/functions/event-base-loop.xml b/reference/libevent/functions/event-base-loop.xml new file mode 100644 index 0000000000..abbd88b9af --- /dev/null +++ b/reference/libevent/functions/event-base-loop.xml @@ -0,0 +1,76 @@ + + + + + event_base_loop + Handle events + + + + &reftitle.description; + + intevent_base_loop + resourceevent_base + intflags + + + Starts event loop for the specified event base. + + + + + &reftitle.parameters; + + + + event_base + + + Valid event base resource. + + + + + flags + + + Optional parameter, which can take any combination of + EVLOOP_ONCE and EVLOOP_NONBLOCK. + Default value is 0. + + + + + + + + + &reftitle.returnvalues; + + event_base_loop returns 0 on success, -1 on error and + 1 if no events were registered. + + + + + + diff --git a/reference/libevent/functions/event-base-loopbreak.xml b/reference/libevent/functions/event-base-loopbreak.xml new file mode 100644 index 0000000000..48287213b1 --- /dev/null +++ b/reference/libevent/functions/event-base-loopbreak.xml @@ -0,0 +1,65 @@ + + + + + event_base_loopbreak + Abort event loop + + + + &reftitle.description; + + boolevent_base_loopbreak + resourceevent_base + + + Abort the active event loop immediately. The behaviour is similar to + break statement. + + + + + &reftitle.parameters; + + + + event_base + + + Valid event base resource. + + + + + + + + + &reftitle.returnvalues; + + event_base_loopbreak returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-base-loopexit.xml b/reference/libevent/functions/event-base-loopexit.xml new file mode 100644 index 0000000000..7f7c8f275a --- /dev/null +++ b/reference/libevent/functions/event-base-loopexit.xml @@ -0,0 +1,74 @@ + + + + + event_base_loopexit + Exit loop after a time + + + + &reftitle.description; + + boolevent_base_loopexit + resourceevent_base + inttimeout + + + The next event loop iteration after the given timer expires will complete + normally, then exit without blocking for events again. + + + + + &reftitle.parameters; + + + + event_base + + + Valid event base resource. + + + + + timeout + + + Optional timeout parameter (in microseconds). + + + + + + + + + &reftitle.returnvalues; + + event_base_loopexit returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-base-new.xml b/reference/libevent/functions/event-base-new.xml new file mode 100644 index 0000000000..c921934f75 --- /dev/null +++ b/reference/libevent/functions/event-base-new.xml @@ -0,0 +1,57 @@ + + + + + event_base_new + Create and initialize new event base + + + + &reftitle.description; + + resourceevent_base_new + + + + Returns new event base, which can be used later in event_base_set, + event_base_loop and other functions. + + + + + &reftitle.parameters; + &no.function.parameters; + + + + + + &reftitle.returnvalues; + + event_base_new returns valid event base resource on + success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-base-priority-init.xml b/reference/libevent/functions/event-base-priority-init.xml new file mode 100644 index 0000000000..7f2e0cb690 --- /dev/null +++ b/reference/libevent/functions/event-base-priority-init.xml @@ -0,0 +1,79 @@ + + + + + event_base_priority_init + Set the number of event priority levels + + + + &reftitle.description; + + boolevent_base_priority_init + resourceevent_base + intnpriorities + + + Sets the number of different event priority levels. + + + By default all events are scheduled with the same priority + (npriorities/2). + Using event_base_priority_init you can change the number + of event priority levels and then set a desired priority for each event. + + + + + &reftitle.parameters; + + + + event_base + + + Valid event base resource. + + + + + npriorities + + + The number of event priority levels. + + + + + + + + + &reftitle.returnvalues; + + event_base_priority_init returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-base-set.xml b/reference/libevent/functions/event-base-set.xml new file mode 100644 index 0000000000..96cdc03986 --- /dev/null +++ b/reference/libevent/functions/event-base-set.xml @@ -0,0 +1,74 @@ + + + + + event_base_set + Associate event base with an event + + + + &reftitle.description; + + boolevent_base_set + resourceevent + resourceevent_base + + + Associates the event_base with the + event. + + + + + &reftitle.parameters; + + + + event + + + Valid event resource. + + + + + event_base + + + Valid event base resource. + + + + + + + + + &reftitle.returnvalues; + + event_base_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-base-set.xml b/reference/libevent/functions/event-buffer-base-set.xml new file mode 100644 index 0000000000..c3e9f7bcff --- /dev/null +++ b/reference/libevent/functions/event-buffer-base-set.xml @@ -0,0 +1,74 @@ + + + + + event_buffer_base_set + Associate buffered event with an event base + + + + &reftitle.description; + + resourceevent_buffer_base_set + resourcebevent + resourceevent_base + + + Assign the specified bevent to the + event_base. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + event_base + + + Valid event base resource. + + + + + + + + + &reftitle.returnvalues; + + event_buffer_base_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-disable.xml b/reference/libevent/functions/event-buffer-disable.xml new file mode 100644 index 0000000000..added4a39b --- /dev/null +++ b/reference/libevent/functions/event-buffer-disable.xml @@ -0,0 +1,74 @@ + + + + + event_buffer_disable + Disable a buffered event + + + + &reftitle.description; + + boolevent_buffer_disable + resourcebevent + intevents + + + Disables the specified buffered event. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + events + + + Any combination of EV_READ and + EV_WRITE. + + + + + + + + + &reftitle.returnvalues; + + event_buffer_disable returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-enable.xml b/reference/libevent/functions/event-buffer-enable.xml new file mode 100644 index 0000000000..4753604f7f --- /dev/null +++ b/reference/libevent/functions/event-buffer-enable.xml @@ -0,0 +1,74 @@ + + + + + event_buffer_enable + Enable a buffered event + + + + &reftitle.description; + + boolevent_buffer_enable + resourcebevent + intevents + + + Enables the specified buffered event. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + events + + + Any combination of EV_READ and + EV_WRITE. + + + + + + + + + &reftitle.returnvalues; + + event_buffer_enable returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-fd-set.xml b/reference/libevent/functions/event-buffer-fd-set.xml new file mode 100644 index 0000000000..c10b998e48 --- /dev/null +++ b/reference/libevent/functions/event-buffer-fd-set.xml @@ -0,0 +1,66 @@ + + + + + event_buffer_fd_set + Change a buffered event file descriptor + + + + &reftitle.description; + + voidevent_buffer_fd_set + resourcebevent + resourcefd + + + Changes the file descriptor on which the buffered event operates. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + fd + + + Valid PHP stream, must be castable to file descriptor. + + + + + + + + + + diff --git a/reference/libevent/functions/event-buffer-free.xml b/reference/libevent/functions/event-buffer-free.xml new file mode 100644 index 0000000000..f0f7b6840f --- /dev/null +++ b/reference/libevent/functions/event-buffer-free.xml @@ -0,0 +1,58 @@ + + + + + event_buffer_free + Destroy buffered event + + + + &reftitle.description; + + voidevent_buffer_free + resourcebevent + + + Destroys the specified buffered event and frees all the resources + associated. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + + + + + + diff --git a/reference/libevent/functions/event-buffer-new.xml b/reference/libevent/functions/event-buffer-new.xml new file mode 100644 index 0000000000..6ae2bb1e5b --- /dev/null +++ b/reference/libevent/functions/event-buffer-new.xml @@ -0,0 +1,107 @@ + + + + + event_buffer_new + Create new buffered event + + + + &reftitle.description; + + resourceevent_buffer_new + resourcestream + mixedreadcb + mixedwritecb + mixederrorcb + mixedarg + + + Libevent provides an abstraction layer on top of the regular event API. + Using buffered event you don't need to deal with the I/O manually, instead + it provides input and output buffers that get filled and drained + automatically. + + + + + &reftitle.parameters; + + + + stream + + + Valid PHP stream resource. Must be castable to file descriptor. + + + + + readcb + + + Callback to invoke where there is data to read, or NULL if + no callback is desired. + + + + + writecb + + + Callback to invoke where the descriptor is ready for writing, + or NULL if no callback is desired. + + + + + errorcb + + + Callback to invoke where there is an error on the descriptor, cannot be + NULL. + + + + + arg + + + An argument that will be passed to each of the callbacks (optional). + + + + + + + + + &reftitle.returnvalues; + + event_buffer_new returns new buffered event resource + on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-priority-set.xml b/reference/libevent/functions/event-buffer-priority-set.xml new file mode 100644 index 0000000000..77a48e1ae5 --- /dev/null +++ b/reference/libevent/functions/event-buffer-priority-set.xml @@ -0,0 +1,74 @@ + + + + + event_buffer_priority_set + Assign a priority to a buffered event + + + + &reftitle.description; + + resourceevent_buffer_priority_set + resourcebevent + intpriority + + + Assign a priority to the bevent. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + priority + + + Priority level. Cannot be less than zero and cannot exceed maximum + priority level of the event base (see event_base_priority_init). + + + + + + + + + &reftitle.returnvalues; + + event_buffer_priority_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-read.xml b/reference/libevent/functions/event-buffer-read.xml new file mode 100644 index 0000000000..4fbf58e649 --- /dev/null +++ b/reference/libevent/functions/event-buffer-read.xml @@ -0,0 +1,66 @@ + + + + + event_buffer_read + Read data from a buffered event + + + + &reftitle.description; + + stringevent_buffer_read + resourcebevent + data_size + + + Reads data from the input buffer of the buffered event. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + data_size + + + Data size in bytes. + + + + + + + + + + diff --git a/reference/libevent/functions/event-buffer-timeout-set.xml b/reference/libevent/functions/event-buffer-timeout-set.xml new file mode 100644 index 0000000000..61a5937ee3 --- /dev/null +++ b/reference/libevent/functions/event-buffer-timeout-set.xml @@ -0,0 +1,82 @@ + + + + + event_buffer_timeout_set + Set read and write timeouts for a buffered event + + + + &reftitle.description; + + boolevent_buffer_timeout_set + resourcebevent + intread_timeout + intwrite_timeout + + + Sets the read and write timeout for the specified buffered event. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + read_timeout + + + Read timeout (in seconds). + + + + + write_timeout + + + Write timeout (in seconds). + + + + + + + + + &reftitle.returnvalues; + + event_buffer_timeout_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-watermark-set.xml b/reference/libevent/functions/event-buffer-watermark-set.xml new file mode 100644 index 0000000000..cceabdce7e --- /dev/null +++ b/reference/libevent/functions/event-buffer-watermark-set.xml @@ -0,0 +1,96 @@ + + + + + event_buffer_watermark_set + Set the watermarks for read and write events + + + + &reftitle.description; + + boolevent_buffer_watermark_set + resourcebevent + intevents + intlowmark + inthighmark + + + Sets the watermarks for read and write events. Libevent does not invoke + read callback unless there is at least lowmark bytes + in the input buffer; if the read buffer is beyond the highmark, + reading is stopped. On output, the write callback is invoked whenever the + buffered data falls below the lowmark. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + events + + + Any combination of EV_READ and + EV_WRITE. + + + + + lowmark + + + Low watermark. + + + + + highmark + + + High watermark. + + + + + + + + + &reftitle.returnvalues; + + event_buffer_watermark_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-buffer-write.xml b/reference/libevent/functions/event-buffer-write.xml new file mode 100644 index 0000000000..feffee763f --- /dev/null +++ b/reference/libevent/functions/event-buffer-write.xml @@ -0,0 +1,85 @@ + + + + + event_buffer_write + Write data to a buffered event + + + + &reftitle.description; + + boolevent_buffer_write + resourcebevent + stringdata + intdata_size + + + Writes data to the specified buffered event. The data is appended to the + output buffer and written to the descriptor when it becomes available for + writing. + + + + + &reftitle.parameters; + + + + bevent + + + Valid buffered event resource. + + + + + data + + + The data to be written. + + + + + data_size + + + Optional size parameter. event_buffer_write writes + all the data by default. + + + + + + + + + &reftitle.returnvalues; + + event_buffer_write returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-del.xml b/reference/libevent/functions/event-del.xml new file mode 100644 index 0000000000..615aab3e96 --- /dev/null +++ b/reference/libevent/functions/event-del.xml @@ -0,0 +1,64 @@ + + + + + event_del + Remove an event from the set of monitored events + + + + &reftitle.description; + + boolevent_del + resourceevent + + + Cancels the event. + + + + + &reftitle.parameters; + + + + event + + + Valid event resource. + + + + + + + + + &reftitle.returnvalues; + + event_del returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-free.xml b/reference/libevent/functions/event-free.xml new file mode 100644 index 0000000000..50e9e1b092 --- /dev/null +++ b/reference/libevent/functions/event-free.xml @@ -0,0 +1,72 @@ + + + + + event_free + Free event resource + + + + &reftitle.description; + + boolevent_free + resourceevent + + + Frees previously created event resource. + + + + + &reftitle.parameters; + + + + filename + + + Path to the Rar archive. + + + + + password + + + A plain password, if needed. + + + + + + + + + &reftitle.returnvalues; + + rar_open returns Rar file resource or &false; on error. + + + + + + diff --git a/reference/libevent/functions/event-new.xml b/reference/libevent/functions/event-new.xml new file mode 100644 index 0000000000..7df30fdcfc --- /dev/null +++ b/reference/libevent/functions/event-new.xml @@ -0,0 +1,41 @@ + + + + + event_new + Create new event + + + + &reftitle.description; + + resourceevent_new + + + + Creates and returns new event resource. + + + + + + diff --git a/reference/libevent/functions/event-set.xml b/reference/libevent/functions/event-set.xml new file mode 100644 index 0000000000..5d61d998b1 --- /dev/null +++ b/reference/libevent/functions/event-set.xml @@ -0,0 +1,148 @@ + + + + + event_set + Prepare an event + + + + &reftitle.description; + + boolevent_set + resourceevent + resourcefd + intevents + mixedcallback + mixedarg + + + Prepares the event to be used in event_add. The event + is prepared to call the function specified by the callback + on the events specified in parameter events, which + is a set of the following flags: EV_TIMEOUT, + EV_SIGNAL, EV_READ and + EV_WRITE. + + + After initializing the event, use event_base_set to + associate the event with its event base. + + + In case of matching event, these three arguments are passed to the + callback function: + + + fd + + + Resource indicating the stream. + + + + + events + + + A flag indicating the event. Can be one of the following: + EV_TIMEOUT, EV_SIGNAL, + EV_READ or EV_WRITE. + + + + + arg + + + Optional parameter, previously passed to event_set + as arg. + + + + + + + + + &reftitle.parameters; + + + + event + + + Valid event resource. + + + + + fd + + + Valid PHP stream resource. The stream must be castable to file + descriptor, so you most likely won't be able to use any of filtered + streams. + + + + + events + + + A set of flags indicating the desired event, can be + EV_READ and/or EV_WRITE. + The additional flag EV_PERSIST makes the event + to persist until event_del is called, otherwise + the callback is invoked only once. + + + + + callback + + + Callback function to be called when the matching event occurs. + + + + + arg + + + Optional callback parameter. + + + + + + + + + &reftitle.returnvalues; + + event_set returns &true; on success or &false; on error. + + + + + + diff --git a/reference/libevent/ini.xml b/reference/libevent/ini.xml new file mode 100644 index 0000000000..72f68264e4 --- /dev/null +++ b/reference/libevent/ini.xml @@ -0,0 +1,27 @@ + + +
+ &reftitle.runtime; + &no.config; +
+ + diff --git a/reference/libevent/reference.xml b/reference/libevent/reference.xml new file mode 100644 index 0000000000..2ca183b494 --- /dev/null +++ b/reference/libevent/reference.xml @@ -0,0 +1,30 @@ + + + + + Libevent &Functions; + + &reference.libevent.entities.functions; + + + + diff --git a/reference/libevent/setup.xml b/reference/libevent/setup.xml new file mode 100644 index 0000000000..595955117f --- /dev/null +++ b/reference/libevent/setup.xml @@ -0,0 +1,82 @@ + + + + + &reftitle.setup; + + +
+ &reftitle.required; + + This extension requires libevent + library. Minimal required version is 1.4.0. + +
+ + + +
+ &reftitle.install; + + Libevent extension is available through PECL + &url.pecl.package;libevent. + + + Also you can use the PECL installer to install the Libevent extension, + using the following command: pecl -v install libevent. + + + You can always download the tar.gz package and install Libevent by hand: + + Libevent installation + + + + + +
+ + + + &reference.libevent.ini; + + + +
+ &reftitle.resources; + + There are several resource types used in the extension. These resources + are event, event base and buffered event. + +
+ + +
+ + + diff --git a/reference/libevent/versions.xml b/reference/libevent/versions.xml new file mode 100644 index 0000000000..e6cb379743 --- /dev/null +++ b/reference/libevent/versions.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +