Download the PHP package hhvm/asio-utilities without Composer
On this page you can find all versions of the php package hhvm/asio-utilities. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package asio-utilities
ASIO Utilities
Obsolete In HHVM 3.11+
These functions have been merged into HHVM, and we expected them to be included from 3.11.0 onwards.
Installation
- add
hhvm/asio-utilitiesto your composer.json
ResultOrExceptionWrapper
When awaiting multiple handles, it can be useful to isolate exceptions from each; ResultOrExceptionWrapper provides this:
Mapping and Filtering Functions
HHVM 3.6 and above include HH\Asio\v() and HH\Asio\m() to make it easy to wait on multiple wait handles; it's fairly common to want to combine this with another option, such as mapping or filtering with an async function.
These functions are named according to their attributes:
First, how they take and return arguments according to types:
- v - Vector
- m - Map
Then, either one or two letters to indicate the operation:
- f - filter
- fk - filter with key
- m - map
- mk - map with keys
Finally, there is optionally a trailing 'w' to indicate that you want a result or exception wrapper. For 'fw' functions, the behavior is that:
- if the filter function returns true, the wrapped element is returned
- if the filter function returns false, the element is omitted
- if the filter function throws an exception, the wrapped exception is returned
This is also available without a filter or mapping operation - vw() and mw().
Function List
All functions are in the HH\Asio namespace;
v() and m() are built in to HHVM 3.6 and newer.
| Name | Returns | Mapped | Filtered | with key | Wrapped | Callback |
|---|---|---|---|---|---|---|
| v() | Vector<T> | :x: | :x: | :x: | :x: | |
| vm() | Vector<Tr> | :white_check_mark: | :x: | :x: | :x: | (Tv): Awaitable<Tr> |
| vmk() | Vector<Tr> | :white_check_mark: | :x: | :white_check_mark: | :x: | (Tk, Tv): Awaitable<Tr> |
| vf() | Vector<Tv> | :x: | :white_check_mark: | :x: | :x: | (Tv): Awaitable<bool> |
| vfk() | Vector<Tv> | :x: | :white_check_mark: | :white_check_mark: | :x: | (Tk, Tv): Awaitable<bool> |
| vw() | Vector<ResultOrExceptionWrapper<T>> | :x: | :x: | :x: | :white_check_mark: | |
| vmw() | Vector<ResultOrExceptionWrapper<Tr>> | :white_check_mark: | :x: | :x: | :white_check_mark: | (Tv): Awaitable<Tr> |
| vmkw() | Vector<ResultOrExceptionWrapper<Tr>> | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | (Tk, Tv): Awaitable<Tr> |
| vfw() | Vector<ResultOrExceptionWrapper<Tv>> | :x: | :white_check_mark: | :x: | :white_check_mark: | (Tv): Awaitable<bool> |
| vfkw() | Vector<ResultOrExceptionWrapper<Tv>> | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | (Tk, Tv): Awaitable<bool> |
| m() | Map<Tk, Tv> | :x: | :x: | :x: | :x: | |
| mm() | Map<Tk, Tr> | :white_check_mark: | :x: | :x: | :x: | (Tv): Awaitable<Tr> |
| mmk() | Map<Tk, Tr> | :white_check_mark: | :x: | :white_check_mark: | :x: | (Tk, Tv): Awaitable<Tr> |
| mf() | Map<Tk, Tv> | :x: | :white_check_mark: | :x: | :x: | (Tv): Awaitable<bool> |
| mfk() | Map<Tk, Tv> | :x: | :white_check_mark: | :white_check_mark: | :x: | (Tk, Tv): Awaitable<bool> |
| mw() | Map<Tk, ResultOrExceptionWrapper<T>> | :x: | :x: | :x: | :white_check_mark: | |
| mmw() | Map<Tk, ResultOrExceptionWrapper<Tr>> | :white_check_mark: | :x: | :x: | :white_check_mark: | (Tv): Awaitable<Tr> |
| mmkw() | Map<Tk, ResultOrExceptionWrapper<Tr>> | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | (Tk, Tv): Awaitable<Tr> |
| mfw() | Map<Tk, ResultOrExceptionWrapper<Tv>> | :x: | :white_check_mark: | :x: | :white_check_mark: | (Tv): Awaitable<bool> |
| mfkw() | Map<Tk, ResultOrExceptionWrapper<Tv>> | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | (Tk, Tv): Awaitable<bool> |