Loading src/windows/udp.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,11 @@ size_t udp::recvBatchAddr(std::vector<std::vector<uint8_t>>& out, int max_count) { out.clear(); addrs.clear(); // Temporarily set socket to non-blocking for batch receive u_long nb = 1; ::ioctlsocket(_Socket, FIONBIO, &nb); for (int i = 0; i < max_count; ++i) { std::vector<uint8_t> buf(65535); sockaddr_storage peer{}; Loading @@ -447,6 +452,11 @@ size_t udp::recvBatchAddr(std::vector<std::vector<uint8_t>>& out, addrs.push_back(peer); } else break; } // Restore blocking mode nb = 0; ::ioctlsocket(_Socket, FIONBIO, &nb); return out.size(); } Loading Loading
src/windows/udp.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -434,6 +434,11 @@ size_t udp::recvBatchAddr(std::vector<std::vector<uint8_t>>& out, int max_count) { out.clear(); addrs.clear(); // Temporarily set socket to non-blocking for batch receive u_long nb = 1; ::ioctlsocket(_Socket, FIONBIO, &nb); for (int i = 0; i < max_count; ++i) { std::vector<uint8_t> buf(65535); sockaddr_storage peer{}; Loading @@ -447,6 +452,11 @@ size_t udp::recvBatchAddr(std::vector<std::vector<uint8_t>>& out, addrs.push_back(peer); } else break; } // Restore blocking mode nb = 0; ::ioctlsocket(_Socket, FIONBIO, &nb); return out.size(); } Loading