25#ifndef DETERMINISTICESPASYNCWEBSERVER_UDP_TRANSPORT_H
26#define DETERMINISTICESPASYNCWEBSERVER_UDP_TRANSPORT_H
87bool det_udp_sendto(
const char *dst_ip, uint16_t dst_port,
const uint8_t *data,
size_t len);
115void det_udp_capture_enable();
116void det_udp_capture_reset();
117const uint8_t *det_udp_captured();
118size_t det_udp_captured_len();
122void det_udp_inject(uint16_t listen_port,
const char *src_ip, uint16_t src_port,
const uint8_t *data,
size_t len);
123void det_udp_set_listener_sendto_result(
bool ok);
124void det_udp_reset_listeners();
User-facing configuration for DeterministicESPAsyncWebServer.
bool det_udp_peer_addr(const struct DetUdpPeer *peer, char *ip_out, size_t ip_cap, uint16_t *port_out)
Copy a received peer's source IPv4 address (dotted-quad) and port out.
void(* DetUdpHandler)(const uint8_t *data, size_t len, struct DetUdpPeer *peer, void *ctx)
Datagram handler invoked for each received UDP packet.
bool det_udp_sendto(const char *dst_ip, uint16_t dst_port, const uint8_t *data, size_t len)
Send a UDP datagram to an arbitrary destination (outbound client).
bool det_udp_send(struct DetUdpPeer *peer, const uint8_t *data, size_t len)
Send a datagram back to the peer captured during the handler call.
bool det_udp_listen(uint16_t port, DetUdpHandler handler, void *ctx)
Bind a UDP port and route incoming datagrams to handler.
bool det_udp_listener_sendto(uint16_t listen_port, const char *dst_ip, uint16_t dst_port, const uint8_t *data, size_t len)
Send a datagram from the listener bound on listen_port to an address.