code: private int writeBytesMultiple(
              ChannelOutboundBuffer in, ByteBuffer[] nioBuffers, int nioBufferCnt, long expectedWrittenBytes,
              long maxBytesPerGatheringWrite) throws IOException {
          assert expectedWrittenBytes != 0;
          if (expectedWrittenBytes > maxBytesPerGatheringWrite) {
              expectedWrittenBytes = maxBytesPerGatheringWrite;
          }
  
          final long localWrittenBytes = socket.writev(nioBuffers, 0, nioBufferCnt, expectedWrittenBytes);
          if (localWrittenBytes > 0) {
              adjustMaxBytesPerGatheringWrite(expectedWrittenBytes, localWrittenBytes, maxBytesPerGatheringWrite);
              in.removeBytes(localWrittenBytes);
              return 1;
          }
          return WRITE_STATUS_SNDBUF_FULL;
      }
docs: Write multiple bytes via {@link ByteBuffer} array.
  @param in the collection which contains objects to write.
  @param nioBuffers The buffers to write.
  @param nioBufferCnt The number of buffers to write.
  @param expectedWrittenBytes The number of bytes we expect to write.
  @param maxBytesPerGatheringWrite The maximum number of bytes we should attempt to write.
  @return The value that should be decremented from the write quantum which starts at
  {@link ChannelConfig#getWriteSpinCount()}. The typical use cases are as follows:
  <ul>
  <li>0 - if no write was attempted. This is appropriate if an empty {@link ByteBuf} (or other empty content)
  is encountered</li>
  <li>1 - if a single call to write data was made to the OS</li>
  <li>{@link ChannelUtils#WRITE_STATUS_SNDBUF_FULL} - if an attempt to write data was made to the OS, but
  no data was accepted</li>
  </ul>
  @throws IOException If an I/O exception occurs during write.