private void completeResponses(List<ClientResponse> responses) {
        for (ClientResponse response : responses) {
            try {
                response.onComplete();
            } catch (Exception e) {
                log.error("Uncaught error in request completion:", e);
            }
        }
    }
Do actual reads and writes to sockets.

@param timeout The maximum amount of time to wait (in ms) for responses if there are none immediately,
               must be non-negative. The actual timeout will be the minimum of timeout, request timeout and
               metadata timeout
@param now The current time in milliseconds
@return The list of responses received
clients/src/main/java/org/apache/kafka/clients/NetworkClient.java