45 send(data.begin(), data.end(), address);
57 std::vector<uint8_t>::const_iterator first,
58 std::vector<uint8_t>::const_iterator last,
61 std::vector<uint8_t> vec;
62 std::copy(first, last, std::back_inserter(vec));
78 const std::chrono::nanoseconds &timeout)
80 std::vector<uint8_t> vec;
81 return {vec,
receive(std::back_inserter(vec), timeout)};
98 std::back_insert_iterator<std::vector<uint8_t>> it,
99 const std::chrono::nanoseconds &timeout)
101 auto [vec, address] =
receive(timeout);
102 std::copy(vec.begin(), vec.end(), it);
114 os <<
"unknown UDP socket";
142 return udp_socket.
print_(os);
virtual std::pair< std::vector< uint8_t >, IPAddress > receive(const std::chrono::nanoseconds &timeout=std::chrono::nanoseconds::zero())
virtual void send(const std::vector< uint8_t > &data, const IPAddress &address)
std::ostream & operator<<(std::ostream &os, const Action &action)
virtual std::ostream & print_(std::ostream &os) const