private long sendRequests(long now, long maxTimeoutMs) {
        long pollTimeout = maxTimeoutMs;
        for (Node node : unsentRequests.nodes()) {
            final Iterator<ClientRequest> requestIterator = unsentRequests.requestIterator(node);
            while (requestIterator.hasNext()) {
                final ClientRequest request = requestIterator.next();
                if (networkClient.ready(node, now)) {
                    networkClient.send(request, now);
                    requestIterator.remove();
                } else {
                    pollTimeout = Math.min(pollTimeout, networkClient.connectionDelay(node, now));
                }
            }
        }
        return pollTimeout;
    }
An inter-broker send thread that utilizes a non-blocking network client.
server-common/src/main/java/org/apache/kafka/server/util/InterBrokerSendThread.java