このセクションでは、L4 SSL DataScript で使用可能な API を一覧表示します。

データパス DS API

データパス API を次に示します。

データパス API

説明

buffered = avi.l4.collect("x")

このデータ スクリプトは、ソケット バッファ内の「x」バイトを収集します。この API は、生成および再開できます。ソケット バッファは、この API を呼び出す DS イベント(L4 要求のクライアント ソケット バッファと L4 応答のサーバ ソケット バッファ)に基づいて決定されます。API の戻り値は、ソケット バッファに存在するデータ量です。

payload = avi.l4.read("xBytes", offset, "client"/"server")

ソケット バッファから xBytes を読み取り、データ スクリプトに 16 進のストリームとして提示します。方向によって、読み取るソケット バッファ データが決定されます。

avi.l4.discard("xBytes", offset, "client"/"server")

指定したオフセットを使用してソケット バッファから xBytes を破棄します。

avi.l4.modify(payload2, offset, "client"/"server")

ソケット バッファのオフセットに payload2 を挿入します。

avi.l4.pause("xBytes”)

  • 自然なプロキシ方向に xBytes を送信した後に Tx を一時停止します。

  • 現在、同じイベントで複数の pause API を使用することはできません。

  • 現在、生成の原因となる可能性のある API は、一時停止後に使用できません。

avi.l4.send(payload2)

  • 範囲外のデータをクライアント/サーバに送信します。

  • send-API は常に resume-API よりも優先度が高くなります。つまり、send と resume を同時に使用すると、resume-API によってリリースされたデータは send-API のデータの後に常に送信されます。

  • L4 要求で呼び出されると、OOB データがクライアントに送信されます。

  • L4 応答で呼び出されると、OOB データがサーバに送信されます。

avi.l4.resume("xBytes")

  • ピア ソケット バッファを再開して、「xBytes」の量のデータを解放します。(xBytes がゼロと等しい場合、すべてのデータを解放することを意味します)。L4 要求で呼び出された場合、応答側のデータが解放されます。

  • L4 応答で呼び出された場合、要求側のデータが解放されます。

  • 現在、同じイベントで複数の resume-API を使用することはできません。

  • 現在、生成の原因となる可能性のある API は、再開後に使用できません。

avi.vs.ds_done()

接続の現在の DataScript の呼び出しを停止します。

API のロード バランシング

ロード バランシングがすでに完了している場合、avi.pool.select または avi.vs.persist は No-op になります。

操作 API はすべて、基盤となるソケット バッファの現在のスナップショットにあります。

すべての API は以前の API に対して相対的です。たとえば、avi.l4.discard はペイロードの一部を破棄します。次に実行される API(たとえば、avi.l4.modify)は、avi.l4.discard の結果として取得された新しいペイロード セットで動作します。

FIX API

  • avi.fix.parse — FIX パーサー C ライブラリを使用して、指定されたペイロードを解析します。

  • avi.fix.getTagValue — 現在のメッセージ コンテキストで TAG 値を取得します。

SSL API

  • avi.ssl.protocol

  • avi.ssl.disable_ssl()

  • avi.ssl.enable_ssl()

  • avi.ssl.server_name

  • avi.ssl.client_cert

  • avi.ssl.cipher

  • avi.ssl.clear_error - SSL コンテキストで OpenSSL によって設定されたエラー ビットマップをクリアして、SSL ハンドシェイク中に特定のエラーを無視します(たとえば、期限切れの証明書を許可するなど)。

VS API

  • avi.vs.log

  • avi.vs.debug

  • avi.vs.client_ip

  • avi.vs.client_port

  • avi.vs.vip_ip

  • avi.vs.vip_port

  • avi.vs.name

  • avi.vs.table_insert

  • avi.vs.table_lookup

  • avi.vs.table_remove

  • avi.vs.close_conn

  • avi.vs.done

プール API

  • avi.pool.select

グループ API

  • avi.ipgroup.contains

  • avi.stringgroup.contains{_CASE}

  • avi.stringgroup.equals{_CASE}

  • avi.stringgroup.beginswith{_CASE}

  • avi.stringgroup.endswith{_CASE}