title: Netty - connectTimeoutMillis vs. ReadTimeoutHandler
body: <p>From the Netty API Documentation</p>
  
  <blockquote>
    <p>connectTimeoutMillis = "the connect timeout in milliseconds. 0 if disabled."</p>
  </blockquote>
  
  <p>And</p>
  
  <blockquote>
    <p>ReadTimeoutHandler = Raises a ReadTimeoutException when no data was read within a certain period of time.</p>
  </blockquote>
  
  <p>From a client perspective, am I correct in interpreting the aforementioned as follows?</p>
  
  <blockquote>
    <p>The client will attempt to connect to the host for up to "connectTimeoutMillis". If a connection is established, and a ReadTimeoutHandler is NOT added to the Pipeline, a Channel can wait on a response indefinitely. If a ReadTimeoutHandler was added to the Pipeline, a ReadTimeoutException will be raised once timeoutSeconds has elapsed.</p>
  </blockquote>
  
  <p>Generally speaking, I'd like to only attempt to connect to a host for up to 'x' seconds, but if a request was sent across the wire, I'd like to wait up to 'y' seconds for the response. If it shapes/influences the answer, the client is Netty, but the server is not.</p>
  
  <p>Follow-up: Is timeoutSeconds on the ReadTimeoutHandler the timeout between successive bytes read, or for the entire request/response? Example: If timeoutSeconds was 60, and a single byte (out of a total of 1024) was read every 59 seconds, would the entire response be read successfully in 60416 seconds, or would it fail because the total elapsed time exceeded 60 seconds?</p>