メッセージ

メッセージクラス

メッセージ通信では、通信するデータを構造化して扱う。この構造化されたデータ単位がメッセージである。

nine ではメッセージをプログラムで扱うために、いくつかの決まりごとを導入している。

ID と KIND と TYPE

メッセージはアプリケーションで必要なだけの種類がある。それらを識別するために、個々のメッセージ型にはユニークな ID を割り当てる。

ID は 16bit の値である。このうち上位 4bit を KIND, 下位12bit を TYPE としている。

KIND はメッセージ群をグループ分けするのに用いる。KIND=0 は nine のシステム側で利用するために予約している。

メッセージクラス

nine では、通信するメッセージ型の一つ一つを C++ のクラスで表す。 具体的には、nine::Message クラスを継承したクラスを定義する。

メッセージクラスには、メッセージの内容の記述と、ネットワーク上での表現形式へ変換する機能を実装する必要がある。 nine では、両方を直接ソースコードで書き下す方法と、IDL を用いてデータ定義だけを行う方法もある。