20.6.11. hotgitops Protocol 2.6


Infinispan のバージョン

このバージョンのプロトコルは Infinispan 9.0 以降実装されます。

この Hotfsprogs プロトコルバージョンは、ストリーミングの get 操作および put 操作のサポートが追加されました。これには、2 つの新たな操作が含まれます。

  • 任意の初期オフセットを使用して、ストリームとしてデータを取得する getStream
  • 必要に応じてバージョンを指定して、データをストリームとして記述するための PutStream

GetStream

要求(0x37):

Expand
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

Offset

vInt

取得を開始するバイト単位のオフセット。最初から取得する場合は 0 に設定します。

キーの長さ

vInt

キーの長さ。vint のサイズは最大 5 バイトで、理論では Integer.MAX_VALUE よりも大きな数値を生成することができます。ただし、Java では Integer.MAX_VALUE を超える単一のアレイを作成できないため、プロトコルは vint アレイの長さを Integer.MAX_VALUE に制限します。

キー

バイト配列

値が要求されているキーが含まれるバイトアレイ。

GetStream

応答(0x38):

Expand
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

応答のステータス

1 バイト

0x00 = success(キーの取得の場合)
0x02 = if key does not exist

フラグ

1 バイト

応答に有効期限情報が含まれるかどうかを示すフラグ。フラグの値は、INFINITE_LIFESPAN(0x01)と INFINITE_MAXIDLE(0x02)の間のビット単位の OR 操作として取得されます

Created

Long

(オプション)エントリーがサーバー上で作成された時点のタイムスタンプを表す長期。この値は、フラグの INFINITE_LIFESPAN ビットが設定されていない場合のみ返されます。

有効期間

vInt

(オプション)エントリーの有効期間を表す vInt を秒単位で表示します。この値は、フラグの INFINITE_LIFESPAN ビットが設定されていない場合のみ返されます。

LastUsed

Long

(オプション)エントリーがサーバー上で最後にアクセスされた時点のタイムスタンプを表す長期。この値は、フラグの INFINITE_MAXIDLE ビットが設定されていない場合のみ返されます。

MaxIdle

vInt

(オプション)エントリーの maxIdle を表す vInt(秒単位)。この値は、フラグの INFINITE_MAXIDLE ビットが設定されていない場合のみ返されます。

エントリーバージョン

8 バイト

既存のエントリーの変更の一意の値。このプロトコルは、entry_version 値が連続して行われるという義務はありません。更新ごとにキーレベルで一意となる必要があります。

値の長さ

vInt

成功した場合、値の長さ

バイト配列

成功した場合、要求された値。

PutStream

要求(0x39)

Expand
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

エントリーバージョン

8 バイト

使用できる値
0 = Unconditional put
-1 = Put If Absent
Other values = pass a version retrieved by GetWithMetadata operation to perform a conditional replace.

キーの長さ

vInt

キーの長さ。vint のサイズは最大 5 バイトで、理論では Integer.MAX_VALUE よりも大きな数値を生成することができます。ただし、Java では Integer.MAX_VALUE を超える単一のアレイを作成できないため、プロトコルは vint アレイの長さを Integer.MAX_VALUE に制限します。

キー

バイト配列

値が要求されているキーが含まれるバイトアレイ。

Value Chunk 1 Length

vInt

データの最初のチャンクのサイズ。この値が 0 の場合は、クライアントが値の転送を完了し、操作を実行する必要があります。

Value Chunk 1

バイト配列

データの fist チャンクを形成するバイトの配列。

値が完了するまで継続

  

応答(0x3A):

Expand
フィールド名サイズ

ヘッダー

variable

応答ヘッダー

これらの追加上部で、この HotTEMPLATES プロトコルバージョンは、グローバルレベルで示されているバイトを追加してリモートリスナーの登録が改善されます。これは、クライアントが対象のイベントのタイプを示します。たとえば、クライアントは作成されたイベントのみ、または有効期限および削除イベントのみを示すことができます。キーごとにより詳細なイベント関連の情報は、key/value フィルターパラメーターを使用して定義できます。

新しい add リスナーリクエストは以下のようになります。

リモートイベントのクライアントリスナーの追加

要求(0x25):

Expand
フィールド名サイズ

ヘッダー

variable

要求ヘッダー

リスナー ID

バイト配列

リスナー識別子

状態を含める

byte

このバイトが 1 に設定されると、初めてキャッシュリスナーを追加するとき、またはリモートリスナーが登録されたノードがクラスター環境に変更されると、キャッシュされた状態はリモートクライアントに送信されます。有効にすると、状態はキャッシュエントリーで作成されたイベントとしてクライアントに送信されます。0 に設定すると、リスナーの追加時に状態はクライアントに返されず、リスナーが登録されたノードが変更されると状態が生じます。

キー/値フィルターファクトリー名

string

このリスナーと使用するキー/値フィルターファクトリーのオプション名。ファクトリーはキー/値のフィルターインスタンスを作成するために使用されます。これにより、イベントが Hotgitops サーバーで直接フィルターされ、クライアントが関係しないイベントの送信を回避することができます。ファクトリーが使用されない場合、文字列の長さは 0 になります。

キー/値フィルターファクトリーパラメーターの数

byte

キー/値のフィルターファクトリーは、フィルターインスタンスの作成時に任意の数のパラメーターを取り、ファクトリーを使用して異なるフィルターインスタンスを動的に作成できるようにします。この count フィールドは、ファクトリーに渡されるパラメーターの数を示します。ファクトリー名が指定されていない場合、このフィールドはリクエストに表示されません。

キー/値フィルターファクトリーパラメーター 1

バイト配列

最初のキー/値フィルターファクトリーパラメーター

キー/値フィルターファクトリーパラメーター 2

バイト配列

2 つ目のキー/値フィルターファクトリーパラメーター

…​

  

コンバーターファクトリー名

string

このリスナーと使用するコンバーターファクトリーのオプション名。ファクトリーは、クライアントに送信されたイベントの内容を変換するために使用されます。デフォルトでは、コンバーターが使用されていない場合、生成されるイベントのタイプに応じてイベントが適切に定義されます。ただし、ユーザーがイベントに追加情報を追加したり、イベントのサイズを縮小する必要がある場合もあります。このような場合、コンバーターを使用してイベントの内容を変換できます。指定のコンバーターファクトリー名は、このジョブを実行するコンバーターインスタンスを作成します。ファクトリーが使用されない場合、文字列の長さは 0 になります。

コンバーターファクトリーパラメーター数

byte

コンバーターインスタンスの作成時にコンバーターファクトリーは任意の数のパラメーターを取り、ファクトリーを使用して異なるコンバーターインスタンスを動的に作成できます。この count フィールドは、ファクトリーに渡されるパラメーターの数を示します。ファクトリー名が指定されていない場合、このフィールドはリクエストに表示されません。

コンバーターファクトリーパラメーター 1

バイト配列

最初のコンバーターファクトリーパラメーター

コンバーターファクトリーパラメーター 2

バイト配列

2 番目のコンバーターファクトリーパラメーター

…​

  

タイプ関連のあるリスナー

vInt

関係するリスナーイベントタイプを表す変数長番号。各イベントタイプはビットで表されます。各フラグはビットで表されます。このフィールドは変数の長さとして送信されるため、バイトで最も大きなビットを使用して、より多くのバイトを読み取る必要があるかどうかを判断するため、このビットはフラグを表します。このモデルを使用すると、フラグを短いスペースに統合できます。各フラグの現在の値は次のとおりです。
0x01 = cache entry created events 0x02 = cache entry modified events 0x04 = cache entry removed events 0x08 = cache entry expired events

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る