2.5で述べたように、Remoteからputされたデータは必ずシリアライズ化されておりbyteArrayで表現される。-しかし、putされたbyteArrayが全てシリアライズ化された状態であるとはいえない。Localからも一般的なJavaのクラスオブジェクトとしてbyteArrayが使用されている場合が存在する。AliceVNCで使われる画像データはbyteArrayで表現されているが、これはLocalからputされている。-また、データの表現に圧縮形式を追加したことで、RemoteからでもputされたbyteArrayが圧縮されているのかそうでないのかが判断できなくなった。+しかし、データの表現に圧縮形式を追加したことで、RemoteからでもputされたbyteArrayが圧縮されているのかそうでないのかが判断できなくなった。-ここからわかることは、データを表現するにはデータ単体をやりとりするだけでは不十分ということである。-そこで、データとデータの状態を表すヘッダをまとめて1つのオブジェクトとして扱うように変更した。+そこで、データの状態を表すフラグをヘッダに含めてパケットを構成するように変更した。{src:CommandMessage}にシリアライズ状態表すフラグと、圧縮状態を表すフラグを追加した。これによってputされたDSMはフラグに応じた適切な形式でReceiveData.class内にDSを格納できる。CommandMessage.classに圧縮前のデータサイズも追加したことで、適切な解凍が可能になった。