code: private int doWriteMultiple(ChannelOutboundBuffer in) throws Exception {
          final long maxBytesPerGatheringWrite = config().getMaxBytesPerGatheringWrite();
          IovArray array = ((KQueueEventLoop) eventLoop()).cleanArray();
          array.maxBytes(maxBytesPerGatheringWrite);
          in.forEachFlushedMessage(array);
  
          if (array.count() >= 1) {
              // TODO: Handle the case where cnt == 1 specially.
              return writeBytesMultiple(in, array);
          }
          // cnt == 0, which means the outbound buffer contained empty buffers only.
          in.removeBytes(0);
          return 0;
      }
docs: Attempt to write multiple {@link ByteBuf} objects.
  @param in the collection which contains objects 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 Exception If an I/O error occurs.