int udp_socket::sendto(char const* msg, std::size_t len, address const& addr) { return ::sendto(get_descriptor(*this), msg, len, 0, reinterpret_cast<sockaddr const*>(addr.data()), sizeof(sockaddr)); }
int udp_socket::recvfrom(char* msg, std::size_t len, address& addr) { #ifdef BLAHNET_WIN32 int from_len = sizeof(sockaddr); #else socklen_t from_len = sizeof(sockaddr); #endif // BLAHNET_WIN32 return ::recvfrom(get_descriptor(*this), msg, len, 0, reinterpret_cast<sockaddr*>(addr.data()), &from_len); }