Commit 781d5341 authored by jan.koester's avatar jan.koester
Browse files

test

parent e89faa82
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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{};
@@ -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();
}