deps: upgrade to libuv 1.27.0 · nodejs/node@54ffe61 (original) (raw)
`@@ -150,6 +150,44 @@ API
`
150
150
``
151
151
` :returns: 0 on success, or an error code < 0 on failure.
`
152
152
``
``
153
`+
.. c:function:: int uv_udp_connect(uv_udp_t* handle, const struct sockaddr* addr)
`
``
154
+
``
155
`+
Associate the UDP handle to a remote address and port, so every
`
``
156
`+
message sent by this handle is automatically sent to that destination.
`
``
157
`` +
Calling this function with a NULL
addr
disconnects the handle.
``
``
158
`` +
Trying to call uv_udp_connect()
on an already connected handle will result
``
``
159
`` +
in an UV_EISCONN
error. Trying to disconnect a handle that is not
``
``
160
`` +
connected will return an UV_ENOTCONN
error.
``
``
161
+
``
162
`+
:param handle: UDP handle. Should have been initialized with
`
``
163
`` +
:c:func:uv_udp_init
.
``
``
164
+
``
165
`` +
:param addr: struct sockaddr_in
or struct sockaddr_in6
``
``
166
`+
with the address and port to associate to.
`
``
167
+
``
168
`+
:returns: 0 on success, or an error code < 0 on failure.
`
``
169
+
``
170
`+
.. versionadded:: 1.27.0
`
``
171
+
``
172
`+
.. c:function:: int uv_udp_getpeername(const uv_udp_t* handle, struct sockaddr* name, int* namelen)
`
``
173
+
``
174
`+
Get the remote IP and port of the UDP handle on connected UDP handles.
`
``
175
`` +
On unconnected handles, it returns UV_ENOTCONN
.
``
``
176
+
``
177
`+
:param handle: UDP handle. Should have been initialized with
`
``
178
`` +
:c:func:uv_udp_init
and bound.
``
``
179
+
``
180
`+
:param name: Pointer to the structure to be filled with the address data.
`
``
181
`` +
In order to support IPv4 and IPv6 struct sockaddr_storage
should be
``
``
182
`+
used.
`
``
183
+
``
184
`` +
:param namelen: On input it indicates the data of the name
field. On
``
``
185
`+
output it indicates how much of it was filled.
`
``
186
+
``
187
`+
:returns: 0 on success, or an error code < 0 on failure
`
``
188
+
``
189
`+
.. versionadded:: 1.27.0
`
``
190
+
153
191
`.. c:function:: int uv_udp_getsockname(const uv_udp_t* handle, struct sockaddr* name, int* namelen)
`
154
192
``
155
193
` Get the local IP and port of the UDP handle.
`
247
285
``` (0.0.0.0
or ::
) it will be changed to point to localhost
.
`248`
`286`
` This is done to match the behavior of Linux systems.
`
`249`
`287`
``
``
`288`
`` +
For connected UDP handles, `addr` must be set to `NULL`, otherwise it will
``
``
`289`
`` +
return `UV_EISCONN` error.
``
``
`290`
`+`
``
`291`
`` +
For connectionless UDP handles, `addr` cannot be `NULL`, otherwise it will
``
``
`292`
`` +
return `UV_EDESTADDRREQ` error.
``
``
`293`
`+`
`250`
`294`
` :param req: UDP request handle. Need not be initialized.
`
`251`
`295`
``
`252`
`296`
` :param handle: UDP handle. Should have been initialized with
`
`@@ -266,15 +310,25 @@ API
`
`266`
`310`
``` .. versionchanged:: 1.19.0 added ``0.0.0.0`` and ``::`` to ``localhost``
267
311
` mapping
`
268
312
``
``
313
`+
.. versionchanged:: 1.27.0 added support for connected sockets
`
``
314
+
269
315
`.. c:function:: int uv_udp_try_send(uv_udp_t* handle, const uv_buf_t bufs[], unsigned int nbufs, const struct sockaddr* addr)
`
270
316
``
271
317
`` Same as :c:func:uv_udp_send
, but won't queue a send request if it can't
``
272
318
` be completed immediately.
`
273
319
``
``
320
`` +
For connected UDP handles, addr
must be set to NULL
, otherwise it will
``
``
321
`` +
return UV_EISCONN
error.
``
``
322
+
``
323
`` +
For connectionless UDP handles, addr
cannot be NULL
, otherwise it will
``
``
324
`` +
return UV_EDESTADDRREQ
error.
``
``
325
+
274
326
` :returns: >= 0: number of bytes sent (it matches the given buffer size).
`
275
327
``` < 0: negative error code (UV_EAGAIN
is returned when the message
```
276
328
` can't be sent immediately).
`
277
329
``
``
330
`+
.. versionchanged:: 1.27.0 added support for connected sockets
`
``
331
+
278
332
`.. c:function:: int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, uv_udp_recv_cb recv_cb)
`
279
333
``
280
334
` Prepare for receiving data. If the socket has not previously been bound
`