Home Explore Blog CI



neovim

32th chunk of `runtime/doc/luvref.txt`
9620b273e18ea90b042029e2cb19d3d80d528353eb65aee60000000100000fa4
 descriptor or SOCKET is not checked for
                its type, but it's required that it represents a valid
                datagram socket.

                Returns: `0` or `fail`

uv.udp_bind({udp}, {host}, {port} [, {flags}])                   *uv.udp_bind()*

                > method form `udp:bind(host, port, [flags])`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `host`: `string`
                - `port`: `number`
                - `flags`: `table` or `nil`
                  - `ipv6only`: `boolean`
                  - `reuseaddr`: `boolean`

                Bind the UDP handle to an IP address and port. Any `flags` are
                set with a table with fields `reuseaddr` or `ipv6only` equal
                to `true` or `false`.

                Returns: `0` or `fail`

uv.udp_getsockname({udp})                                 *uv.udp_getsockname()*

                > method form `udp:getsockname()`

                Parameters:
                - `udp`: `uv_udp_t userdata`

                Get the local IP and port of the UDP handle.

                Returns: `table` or `fail`
                - `ip` : `string`
                - `family` : `string`
                - `port` : `integer`

uv.udp_getpeername({udp})                                 *uv.udp_getpeername()*

                > method form `udp:getpeername()`

                Parameters:
                - `udp`: `uv_udp_t userdata`

                Get the remote IP and port of the UDP handle on connected UDP
                handles.

                Returns: `table` or `fail`
                - `ip` : `string`
                - `family` : `string`
                - `port` : `integer`

                                                       *uv.udp_set_membership()*
uv.udp_set_membership({udp}, {multicast_addr}, {interface_addr}, {membership})

                > method form
                > `udp:set_membership(multicast_addr, interface_addr, membership)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `multicast_addr`: `string`
                - `interface_addr`: `string` or `nil`
                - `membership`: `string`

                Set membership for a multicast address. `multicast_addr` is
                multicast address to set membership for. `interface_addr` is
                interface address. `membership` can be the string `"leave"` or
                `"join"`.

                Returns: `0` or `fail`

                                                *uv.udp_set_source_membership()*
uv.udp_set_source_membership({udp}, {multicast_addr}, {interface_addr}, {source_addr}, {membership})

                > method form
                > `udp:set_source_membership(multicast_addr, interface_addr, source_addr, membership)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `multicast_addr`: `string`
                - `interface_addr`: `string` or `nil`
                - `source_addr`: `string`
                - `membership`: `string`

                Set membership for a source-specific multicast group.
                `multicast_addr` is multicast address to set membership for.
                `interface_addr` is interface address. `source_addr` is source
                address. `membership` can be the string `"leave"` or `"join"`.

                Returns: `0` or `fail`

uv.udp_set_multicast_loop({udp}, {on})             *uv.udp_set_multicast_loop()*

                > method form `udp:set_multicast_loop(on)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `on`: `boolean`

                Set IP multicast loop flag. Makes multicast packets loop back
                to local sockets.

                Returns: `0` or `fail`

uv.udp_set_multicast_ttl({udp}, {ttl})              *uv.udp_set_multicast_ttl()*

                > method form `udp:set_multicast_ttl(ttl)`

                Parameters:

Title: Libuv UDP Functions: Address Information, Multicast Membership, and Loop Control
Summary
This section details several functions for managing UDP handles in libuv. It covers retrieving local and remote address information using `uv.udp_getsockname()` and `uv.udp_getpeername()`, setting multicast group membership with `uv.udp_set_membership()` and `uv.udp_set_source_membership()`, enabling or disabling multicast loopback with `uv.udp_set_multicast_loop()`, and setting the multicast TTL with `uv.udp_set_multicast_ttl()`.