Home Explore Blog CI



neovim

33th chunk of `runtime/doc/luvref.txt`
998e5203c0ba58b260a39a758dbbfbcd4e8d3f23d0bbfbf80000000100000fa0
              - `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:
                - `udp`: `uv_udp_t userdata`
                - `ttl`: `integer`

                Set the multicast ttl.

                `ttl` is an integer 1 through 255.

                Returns: `0` or `fail`

                                              *uv.udp_set_multicast_interface()*
uv.udp_set_multicast_interface({udp}, {interface_addr})

                > method form `udp:set_multicast_interface(interface_addr)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `interface_addr`: `string`

                Set the multicast interface to send or receive data on.

                Returns: `0` or `fail`

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

                > method form `udp:set_broadcast(on)`

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

                Set broadcast on or off.

                Returns: `0` or `fail`

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

                > method form `udp:set_ttl(ttl)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `ttl`: `integer`

                Set the time to live.

                `ttl` is an integer 1 through 255.

                Returns: `0` or `fail`

uv.udp_send({udp}, {data}, {host}, {port}, {callback})           *uv.udp_send()*

                > method form `udp:send(data, host, port, callback)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `data`: `buffer`
                - `host`: `string`
                - `port`: `integer`
                - `callback`: `callable`
                  - `err`: `nil` or `string`

                Send data over the UDP socket. If the socket has not
                previously been bound with |uv.udp_bind()| it will be bound to
                `0.0.0.0` (the "all interfaces" IPv4 address) and a random
                port number.

                Returns: `uv_udp_send_t userdata` or `fail`

uv.udp_try_send({udp}, {data}, {host}, {port})               *uv.udp_try_send()*

                > method form `udp:try_send(data, host, port)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `data`: `buffer`
                - `host`: `string`
                - `port`: `integer`

                Same as |uv.udp_send()|, but won't queue a send request if it
                can't be completed immediately.

                Returns: `integer` or `fail`

uv.udp_try_send2({udp}, {messages}, {flags})                *uv.udp_try_send2()*

                > method form `udp:try_send2(messages, flags)`

                Parameters:
                - `udp`: `uv_udp_t userdata`
                - `messages`: `table`
                  - `[1, 2, 3, ..., n]` : `table`
                    - `data` : `buffer`
                    - `addr` : `table`
                      -

Title: Libuv UDP Functions: Multicast Options, Broadcasting, TTL Control, and Sending Data
Summary
This section describes functions for advanced UDP socket configuration and data transmission. It covers setting multicast loopback (`uv.udp_set_multicast_loop()`), multicast TTL (`uv.udp_set_multicast_ttl()`), multicast interface (`uv.udp_set_multicast_interface()`), and broadcast options (`uv.udp_set_broadcast()`). It also includes functions for setting the general TTL (`uv.udp_set_ttl()`), sending data with callbacks (`uv.udp_send()`), and non-queuing send operations (`uv.udp_try_send()` and `uv.udp_try_send2()`).