UV module

GetAddrInfoReq

DNS resolver request to get the IP address of a hostname.

GetAddrInfoReq

#include <icy/request.h>

Inherits: Request< uv_getaddrinfo_t, GetAddrInfoEvent >

DNS resolver request to get the IP address of a hostname.

Public Methods

ReturnNameDescription
GetAddrInfoReq inlineConstruct and set req.data to this.
autoresolve inlineBegin asynchronous DNS resolution of host at port.

GetAddrInfoReq

inline

inline GetAddrInfoReq()

Construct and set req.data to this.


resolve

inline

inline auto resolve(const std::string & host, int port, uv::Loop * loop)

Begin asynchronous DNS resolution of host at port.

The result is delivered to callback as a [GetAddrInfoEvent](icy-uv-GetAddrInfoEvent.html#getaddrinfoevent). The addrinfo pointer in the event is freed immediately after the callback returns; do not retain it.

Parameters

  • host Hostname or numeric IP address string to resolve.

  • port Port number; converted to a service string for getaddrinfo.

  • loop Event loop on which to run the resolution.

Returns

true if the request was submitted successfully.

Public Static Methods

ReturnNameDescription
voidgetAddrInfoCallback static inlinelibuv completion callback for uv_getaddrinfo.

getAddrInfoCallback

static inline

static inline void getAddrInfoCallback(Request::Type * req, int status, struct addrinfo * res)

libuv completion callback for uv_getaddrinfo.

Invokes the stored callback with the resolved address list, then frees the addrinfo chain and deletes the wrapper.

Parameters

  • req The completed uv_getaddrinfo_t request.

  • status libuv status code.

  • res Resolved address list (freed after callback returns).

Public Types

NameDescription
Request

Request

uv::Request< uv_getaddrinfo_t, GetAddrInfoEvent > Request()