title: zero allocation copy from socket to socket
body: <p>Given we have a socket connection (lets call it <code>c1</code>) where we accept messages, 
  and we have N other socket connections we are about write the exact same message,
  to determine which connection we want it to write to we only need to read the first few bytes from <code>c1</code>, but the remaining of the bytes on the socket needs not to be loaded to java heap, just to be written to <code>c2</code>...</p>
  
  <p>So in nutshell what we want to do is.
  we got event that we have bytes to read on <code>c1</code>
  we read the first few bytes and determine that we know that we want to redirect this to <code>c2</code>.
  We take those first few bytes we already took from <code>c1</code> write it to <code>c2</code> and now we want to tell the system to write next N bytes from <code>c1</code> to <code>c2</code> directly (instead of c1 -> java heap -> c2).</p>
  
  <p>Is there any means to do this in java?</p>
  
  <hr>
  
  <h2><strong>Update</strong>:</h2>
  
  <p>Although the answer is to the point, if you are building something like this ( even not only for multiplexing but some little business logic ), I highly recommend you to go with ZeroMQ.</p>