@Override
  public int writeMessage() throws IOException {
    try {
      startedSerializingMsg = true;
      InternalDataSerializer.writeDSFID(msg, this);
      doneWritingMsg = true;
      if (flushedBytes == 0) {
        // message fit in one chunk
        normalMsg = true;
      }
      realFlush(true);
      return flushedBytes;
    } finally {
      release();
    }
  }
Create message streamers splitting into versioned streamers, if required, for given list of
connections to remote nodes. This method can either return a single MsgStreamer object or a
List of MsgStreamer objects.
geode-core/src/main/java/org/apache/geode/internal/tcp/MsgStreamer.java