private <T extends Request, U> void sendRequest(T request, BiFunction<Request, Connection, CompletableFuture<U>> sender, CompletableFuture<U> future) {
    if (open) {
      connect().whenComplete((c, e) -> sendRequest(request, sender, c, e, future));
    }
  }
private < T extends Request , U > void sendRequest ( T request , BiFunction < Request , Connection , CompletableFuture < U > > sender , CompletableFuture < U > future ) { if ( open ) { connect ( ) . whenComplete ( ( c , e ) -> sendRequest ( request , sender , c , e , future ) ) ; } }
Sends the given request attempt to the cluster.