メインコンテンツまでスキップ

プロトコルAPI

名前空間: K13A.TSMP

これらのタイプは、テスト、ツール、カスタム コーデック、バリデーター、および診断に役立ちます。

FrameHeader​

定数:

絶え間ない価値
Size56
BytesBeforeCrc52
CrcOffset52
MaxCodecOptionBytes5

重要な方法:

方法使用
CreateDefault()デフォルトのネットワーク フレーム ヘッダーを作成します。
WriteTo(byte[] buffer, int offset)ヘッダーと CRC を書き込みます。
TryRead(...)ネイティブの読み取り/検証ヘルパー。
ClampDecodeSampleSize(...)クランプデコードサンプリングサイズ。

ヘッダー CRC は常に WriteTo によって書き込まれます。

FrameHeaderReader​

検証ステータス:

状態意味
StatusOkヘッダーは有効です。
StatusInvalidBufferバッファ範囲が無効です。
StatusMagicMismatch魔法は TSMP と一致しません。
StatusHeaderSizeMismatchヘッダー サイズはサポートされていません。
StatusVersionMismatchメジャーバージョンはサポートされていません。
StatusCrcMismatchヘッダー CRC が失敗しました。

エラー文字列を解析する代わりに、テストやツールでリーダー ステータス コードを使用します。

プロトコル列挙型​

タイプ価値観
SymbolModeLuma4
PayloadTypeEmpty、NetworkFrame
NetworkMessageTypeVariableState、RpcCall
NetworkValueTypeBool、Int32、Float32、ベクトル、四元数、UTF8 文字列、生のバイト、サポートされている配列。
NetworkSyncDirectionSendReceive、SendOnly、ReceiveOnly
RPCTargetLocal、Remote、All

ネットワークフレームヘルパー​

タイプ使用
NetworkFrameProtocolペイロードのオフセット、サイズ、定数。
NetworkFrameWriterネットワーク フレームとメッセージ ヘッダーを書き込みます。
NetworkFrameReaderネットワークフレームとメッセージヘッダーを読み取ります。
NetworkValueCodecサポートされている C# 値の型を TSMP 値の型にマップします。
Binaryリトルエンディアンの整数読み取り/書き込みヘルパー。
StableHash安定した FNV-1a ハッシュ ヘルパー。
Crc32Runtimeランタイム CRC32 テーブルおよび計算ヘルパー。

フレームヘルパー​

タイプ使用
FrameLayout幅、高さ、ブロック サイズからアクティブなブロック レイアウトを計算します。
FrameCapacity利用可能なフレーム/ペイロード容量を計算します。
FrameHeaderWriterヘッダー書き込みヘルパー。

ハッシュルール​

TSMP は、フィールド キーと RPC メソッド名に安定したハッシュを使用します。送信者と受信者が確実に一致する必要がある場合は、ランタイムで生成された文字列をキーとして使用しないでください。