title: MaxConnectionsPerHost vs MaxRequestsPerConnection Cassandra driver
body: <p>I'm working with huge query set for C*. I already throttle async query executor with </p>
  
  <pre><code>Semaphore maxInFlight = new Semaphore(MAX_REQUEST_PER_CON_REMOTE);
  ...
  maxInFlight.acquireUninterruptibly();
  ResultSetFuture future = executeAsync(...);
  Futures.addCallback(future, new FutureCallback&lt;ResultSet&gt;() {
       @Override
       public void onSuccess(ResultSet rs) {
       ...
       maxInFlight.release();
       }
  
       @Override
       public void onFailure(Throwable t) {
       ...
       maxInFlight.release();
       }, executor);
  </code></pre>
  
  <p>where <em>MAX_REQUEST_PER_CON_REMOTE</em> is  MaxRequestsPerConnection parameter.
  MaxConnectionsPerHos equals 1 by default and I didn't change it.</p>
  
  <p>With increasing the number of nodes or increasing replication factor, i believe, that I could increase MaxConnectionsPerHos or MaxRequestsPerConnection to increase productivity.
  Is there any advantages increasing one or another?</p>
  
  <p>Also then I want change dependency of Semaphore permits, but don't actually know how. The idea is to add listener and updating maxInFlight when Host was added or deleted.</p>