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

プロトコル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
PayloadTypeEmptyNetworkFrame
NetworkMessageTypeVariableStateRpcCall
NetworkValueTypeBool、Int32、Float32、ベクトル、四元数、UTF8 文字列、生のバイト、サポートされている配列。
NetworkSyncDirectionSendReceiveSendOnlyReceiveOnly
RPCTargetLocalRemoteAll

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

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

フレームヘルパー

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

ハッシュルール

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