uv module contains C++ wrappers for libuv.The uv module contains C++ wrappers for libuv.
| Name | Description |
|---|---|
Handle | Wrapper class for managing uv_handle_t variants. |
ScopedLoop | RAII wrapper for a libuv event loop. Automatically closes and deletes the loop on destruction. |
HandleStorage | Extra storage placed around a raw libuv handle for close-time cleanup hooks. |
Context | Shared libuv handle context. |
BasicEvent | Default request callback event carrying a libuv status code. |
Request | Wrapper class for managing uv_req_t variants. |
ConnectReq | Asynchronous connection request for TCP sockets and named pipes. |
GetAddrInfoEvent | Callback event delivered when a [GetAddrInfoReq](icy-uv-GetAddrInfoReq.html#getaddrinforeq) resolves. |
GetAddrInfoReq | DNS resolver request to get the IP address of a hostname. |
| Return | Name | Description |
|---|---|---|
uv_loop_t | Loop | Alias for a libuv event loop instance. |
uv_loop_t Loop()Alias for a libuv event loop instance.
| Return | Name | Description |
|---|---|---|
Loop * | defaultLoop inline | Returns the process-wide default libuv event loop. |
void | runLoop inline | Runs the given event loop using the specified run mode. Blocks until the loop exits (when using UV_RUN_DEFAULT). |
void | stopLoop inline | Stops the given event loop, causing uv_run to return after the current iteration. |
Loop * | createLoop inline | Allocates and initializes a new libuv event loop. The caller is responsible for closing and deleting the returned loop. |
bool | closeLoop inline | Closes the given event loop, releasing internal resources. All handles must be closed before calling this. |
HandleStorage< T > * | handleStorage inline | Returns the extended storage wrapper that owns handle. |
void | setHandleCloseCleanup inline | Registers a cleanup callback that runs when handle finally closes. |
void | clearHandleCloseCleanup inline | Clears any pending close-time cleanup callback registered on handle. |
auto | withHandleContext inline | Wraps callback so it only runs while the owning handle is still alive. Captures the intrusive [Context](icy-uv-Context.html#context-2) token, rehydrates the typed owner on entry, and suppresses invocation if the handle has already been deleted. |
T & | createRequest inline | Allocate a heap-owned [Request](icy-uv-Request.html#request-2) of type T and attach callback to it. |
T & | createRetainedRequest inline | Allocate a heap-owned [Request](icy-uv-Request.html#request-2) of type T whose callback retains additional state until completion. |
inline
inline Loop * defaultLoop()Returns the process-wide default libuv event loop.
Pointer to the default uv_loop_t.
inline
inline void runLoop(Loop * loop, uv_run_mode mode) = defaultRuns the given event loop using the specified run mode. Blocks until the loop exits (when using UV_RUN_DEFAULT).
loop Event loop to run. Defaults to the default loop.
mode libuv run mode: UV_RUN_DEFAULT, UV_RUN_ONCE, or UV_RUN_NOWAIT.
inline
inline void stopLoop(Loop * loop) = defaultStops the given event loop, causing uv_run to return after the current iteration.
loop Event loop to stop. Defaults to the default loop.inline
inline Loop * createLoop()Allocates and initializes a new libuv event loop. The caller is responsible for closing and deleting the returned loop.
Pointer to a newly initialized uv_loop_t.
inline
inline bool closeLoop(Loop * loop)Closes the given event loop, releasing internal resources. All handles must be closed before calling this.
loop Event loop to close.True on success, false if the loop still has active handles.
inline
template<typename T> inline HandleStorage< T > * handleStorage(T * handle)Returns the extended storage wrapper that owns handle.
handle Raw libuv handle pointer previously allocated by [Context](icy-uv-Context.html#context-2)<T>.inline
template<typename T> inline void setHandleCloseCleanup(T * handle, void * data, void(*)(void *) cleanup)Registers a cleanup callback that runs when handle finally closes.
handle Raw libuv handle pointer.
data User data passed back to cleanup.
cleanup Function invoked exactly once when the handle storage is released.
inline
template<typename T> inline void clearHandleCloseCleanup(T * handle)Clears any pending close-time cleanup callback registered on handle.
handle Raw libuv handle pointer.inline
template<typename Owner, typename Callback> inline auto withHandleContext(Owner & owner, Callback && callback)Wraps callback so it only runs while the owning handle is still alive. Captures the intrusive [Context](icy-uv-Context.html#context-2) token, rehydrates the typed owner on entry, and suppresses invocation if the handle has already been deleted.
owner Owning handle instance.
callback Callable that receives Owner& followed by the libuv callback args.
inline
template<typename T> inline T & createRequest(std::function< void(const typename T::Event &)> callback)Allocate a heap-owned [Request](icy-uv-Request.html#request-2) of type T and attach callback to it.
The returned reference is valid until the request's defaultCallback fires and deletes the object.
T A specialization of [Request](icy-uv-Request.html#request-2).callback Completion handler; receives a T::Event on completion.Reference to the newly allocated request.
inline
template<typename T, typename Retained, typename Callback> inline T & createRetainedRequest(Retained && retained, Callback && callback)Allocate a heap-owned [Request](icy-uv-Request.html#request-2) of type T whose callback retains additional state until completion.
This is the standard way to bind request completion to handle lifetime or other retained context without hand-rolling per-call capture logic.
T A specialization of [Request](icy-uv-Request.html#request-2).
Retained Retained object type copied or moved into the callback.
Callback Callable invoked as callback(retained, event).
retained Extra state to keep alive until the request completes.
callback Completion handler receiving the retained state and event.
Reference to the newly allocated request.