void decode_endpoint(const sockaddr_t& socket_addr, IPAddress& ip, uint16_t& port)
{
	// assume IPv4 for now.
	ip.set_ipv4(
			socket_addr.sa_data[2],
			socket_addr.sa_data[3],
			socket_addr.sa_data[4],
			socket_addr.sa_data[5]
	);
	port = socket_addr.sa_data[0] << 8 | socket_addr.sa_data[1];
}