7#if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS)
10#ifdef USE_SOCKET_IMPL_LWIP_TCP
14#include <initializer_list>
20static const size_t MAX_PACKET_SIZE = 508;
25 void set_addresses(std::initializer_list<std::string> addresses) =
delete;
31 void add_listener(std::function<
void(std::span<const uint8_t>)> &&listener) {
34 void setup()
override;
48#if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS)
53#ifdef USE_SOCKET_IMPL_LWIP_TCP
Fixed-capacity vector - allocates once at runtime, never reallocates This avoids std::vector template...
float get_setup_priority() const override
void set_should_broadcast()
std::unique_ptr< socket::Socket > listen_socket_
void set_addresses(std::initializer_list< const char * > addresses)
std::unique_ptr< socket::Socket > broadcast_socket_
void send_packet(const uint8_t *data, size_t size)
std::vector< IPAddress > ipaddrs_
void set_listen_address(const char *listen_addr)
void set_broadcast_port(uint16_t port)
void set_addresses(std::initializer_list< std::string > addresses)=delete
Prevent accidental use of std::string which would dangle.
CallbackManager< void(std::span< const uint8_t >)> packet_listeners_
void dump_config() override
optional< network::IPAddress > listen_address_
void set_listen_port(uint16_t port)
void send_packet(const std::vector< uint8_t > &buf)
std::vector< struct sockaddr > sockaddrs_
FixedVector< const char * > addresses_
void add_listener(std::function< void(std::span< const uint8_t >)> &&listener)
const float AFTER_WIFI
For components that should be initialized after WiFi is connected.