Example #1
0
    /** Writes the {@code Context} to the given state checkpoint output. */
    protected void writeToState(StateBackend.CheckpointStateOutputView out) throws IOException {
      keySerializer.serialize(key, out);
      windowSerializer.serialize(window, out);
      out.writeLong(watermarkTimer);
      out.writeLong(processingTimeTimer);

      byte[] serializedState = InstantiationUtil.serializeObject(state);
      out.writeInt(serializedState.length);
      out.write(serializedState, 0, serializedState.length);

      MultiplexingStreamRecordSerializer<IN> recordSerializer =
          new MultiplexingStreamRecordSerializer<>(inputSerializer);
      out.writeInt(windowBuffer.size());
      for (StreamRecord<IN> element : windowBuffer.getElements()) {
        recordSerializer.serialize(element, out);
      }
    }