public void offer(ByteBuffer buf) throws BufferOverflowException {
  if (getWriteableBytesRemaining() < buf.remaining())   throw new BufferOverflowException();
  if (!buf.hasRemaining())   return;
  flushWriteChunk();
  bytesWritten+=buf.remaining();
  list.addLast(buf);
}

public void offer ( ByteBuffer buf ) throws BufferOverflowException { if ( getWriteableBytesRemaining ( ) < buf . remaining ( ) ) throw new BufferOverflowException ( ) ; if ( ! buf . hasRemaining ( ) ) return ; flushWriteChunk ( ) ; bytesWritten += buf . remaining ( ) ; list . addLast ( buf ) ; }
offers a byte buffer object for the queue . the remaining bytes of buf are added to the queue . bytequeue takes the ownership of buf .
