4.3. メッセージのデータ型

ここではメッセージの中で使われる基本的なデータ型を記載します。

Intn(i)

ネットワークバイト順におけるnビットの整数。 もしiが指定されていればそれはリテラル値です。 たとえばInt16、Int32(42)など。

LimStringn(s)

ヌルで終結した文字列として判断される、厳密にnバイトの文字配列。十分な空きがない場合ゼロのバイトは省略されます。 sが指定されていればそれはリテラル値です。 たとえばLimString32、LimString64("user")など。

String(s)

長さに制限のない従来のヌルで終結したC文字列。 sが指定されていたらそれはリテラル値です。 たとえばString, String("user")など。

Note: バックエンドから返されることが可能な文字列の長さには事前に定義できる制限はありません。フロントエンドのためのよいコーディング戦略としては、拡張可能なバッファを使ってメモリに収まるものはすべて受け入れられるようにすることです。もしそれが可能でなければ、文字列全部を読み、固定長のバッファに収まらない後ろの文字を捨てます。

Byten(c)

厳密にnバイト。cが指定されれば、それはリテラル値です。 たとえば Byte、Byte1('\n')など。