Bokehサーバとクライアントとの間の通信を実装し、メッセージプロトコルを提供する。
Protocol
Bokeh Serverメッセージプロトコルにメッセージ工場を提供します。
assemble
Jsonフラグメントによって組み立てられたメッセージインスタンスを作成します。
header_json (JSON) --
JSON
metadata_json (JSON) --
content_json (JSON) --
メッセージ
create
所与のタイプのための新しいメッセージインスタンスを作成します。
msgtype (str) --
Bokehプロトコルメッセージの処理に関連する命名異常が提供される。
MessageError
Bokehメッセージ·オブジェクトの構築を指示する際にエラーが発生する.
この例外は、通常、メッセージのJSONフラグメントが全く復号できないことを表す。
ProtocolError
有線プロトコルセグメントを扱う際のエラーを示す.
この例外は,復号されたメッセージセグメントを正しく組み合わせることができないことを表す.
ValidationError
回線プロトコルセグメントを検証する際のエラーを示す.
この例外は、一般に、予期されるテキストセグメントのときにバイナリメッセージセグメントが受信されることを表し、その逆も同様
基本クラスは、すべてのBokehサーバプロトコル·メッセージ·タイプに提供されます。
Bokerメッセージは一連のJSONセグメントから構成される.メッセージは、Python JSONのようなデータとして指定され、その一般的なフォーマットは:
[ # these are required b'{header}', # serialized header dict b'{metadata}', # serialized metadata dict b'{content}, # serialized content dict # these are optional, and come in pairs; header contains num_buffers b'{buf_header}', # serialized buffer header dict b'array' # raw buffer payload data ... ]
♪the header セグメントのフォーマットは:
header
header = { # these are required 'msgid' : <str> # a unique id for the message 'msgtype' : <str> # a message type, e.g. 'ACK', 'PATCH-DOC', etc # these are optional 'num_buffers' : <int> # the number of additional buffers, if any }
♪the metadata フラグメントは任意の情報を含むことができる。Bokehはいかなる目的でも処理しないが、外部監視や機器ツールに有用である可能性がある。
metadata
♪the content フラグメントは特定のメッセージタイプによって定義される.
content
Message
Messageベースクラスは,Bokeh Serverメッセージの作成,組み立て,完全性検証を実装している.さらにフックも提供しています
__init__
新しいメッセージは、タイトル、メタデータ、およびコンテンツ辞書から初期化される。
既存のJSONセグメントからメッセージを組み立てるには、ご利用ください assemble 方法です。
自動生成されたヘッダを使用して新しいメールを作成するには、Subclassを使用してください create 方法です。
header (JSON-like) --
metadata (JSON-like) --
content (JSON-like) --
add_buffer
バッファヘッダとペイロードをこのメッセージに関連付ける.
buf_header (JSON) -- バッファヘッダ
buf_payload (JSON or bytes) -- バッファペイロード
なし
MessageError --
JSONセグメントによって組み立てられた新しいメッセージを作成します。
消息類.
assemble_buffer
ソケットから読み出したバッファヘッドとペイロードを追加します。
これはadd_Buffer()とは異なり,我々は頭を充填するのではなく頭のnum_Buffersを検証しているからである.
ProtocolError --
create_header
メッセージヘッダ断片dictを返す.
request_id (str or None) -- このメールから返信されたメールのメールID
郵便頭.
dict
send
与えられた接続上でメッセージを送信する.
conn (WebSocketHandler) -- メッセージを送信するためのWebSocketHandler
送信バイト数
int
write_buffers
任意のバッファヘッダおよびペイロードを所与の接続に書き込みます。
conn (object) -- どんなものでも write_message 方法です。通常竜巻は WSHandler あるいは…。 WebSocketClientConnection
write_message
WSHandler
WebSocketClientConnection
locked (bool) --
complete
メッセージを返すすべての必要な部分が存在するかどうか.
メッセージが完全であればTrue,そうでなければFalseである.
bool
ACK
ack
定義 ACK クライアントがBokehサーバに成功裏に接続されたことを確認するためのメッセージ。
♪the content このメッセージの断片は空である.
1つを作ることができます ACK メッセージ
どのキーワードパラメータもメッセージに入れます metadata そのまま断片化する。
ERROR
error
定義 ERROR エラー状況をBokehサーバのメッセージに報告する.
♪the content このメッセージのフラグメントのフォーマットは:
{ 'text' : <error message text> # this is optional 'traceback' : <traceback text> }
1つを作ることができます ERROR メッセージ
request_id (str) -- エラーを引き起こすメッセージのメッセージID。
text (str) -- エラーメッセージやバックトラックのテキストなどである.
他のキーワードパラメータはメッセージに入れられます metadata そのまま断片化する。
OK
ok
定義 OK 前のメッセージの処理に成功したことを確認するためのメッセージ。
1つを作ることができます OK メッセージ
request_id (str) -- 確認を招いたメッセージのメッセージID。
PATCH-DOC
patch_doc
定義 PATCH-DOC 遠隔文書間で文書修復イベントを送信するためのメッセージ。
{ 'events' : <protocol document events> 'references' : <model references> }
apply_to_document
1つを作ることができます PATCH-DOC メッセージ
events (list) -- 文書に適用するパッチイベントリスト
process_document_events
適用するパッチおよび任意のオプションバッファを記述するJSON文字列を作成します。
events -- パッチに変換するイベントリスト
Objおよび任意のオプションバッファを所与の更新するために使用することができるJSON文字列
str, list
PULL-DOC-REPLY
pull_doc_reply
定義 PULL-DOC-REPLY クライアントからの文書引き出し要求を返信するためのメッセージ
{ 'doc' : <Document JSON> }
1つを作ることができます PULL-DOC-REPLY メッセージ
request_id (str) -- Pull要求メッセージのメッセージID
document (Document) -- 返信する文書
PULL-DOC-REQ
pull_doc_req
定義 PULL-DOC-REQ 新しいBokeh文書を有するBokehサーバから返信を要求するためのメッセージ。
1つを作ることができます PULL-DOC-REQ メッセージ
PUSH-DOC
push_doc
定義 PUSH-DOC クライアントからBokehサーバに文書をプッシュするためのメッセージ。
push_to_document
SERVER-INFO-REPLY
server_info_reply
定義 SERVER-INFO-REPLY クライアントからのサーバ情報要求に応答するためのメッセージ。
{ 'version_info' : { 'bokeh' : <bokeh library version> 'server' : <bokeh server version> } }
1つを作ることができます SERVER-INFO-REPLY メッセージ
request_id (str) -- INFO要求メッセージのメッセージID
SERVER-INFO-REQ
server_info_req
定義 SERVER-INFO-REQ Bokehサーバに要求するためのメッセージは、自身に関する情報を提供する。
1つを作ることができます SERVER-INFO-REQ メッセージ
WebSocket有線メッセージセグメントを処理可能な完全なBokeh Serverメッセージオブジェクトに組み立てる.
Receiver
有線メッセージセグメントを受信し、完全なBokehサーバメッセージオブジェクトを組み立てる。
vt.はい。行け! MessageError あるいは…。 ValidationError 受信機は、その状態をリセットし、新しいメッセージの消費を試みる。
♪the 屑 受信されたデータは、送信の意味に特に依存するバイトまたはUnicodeであってもよい(WebSocketは両方可能である)。
受信機は、特定のBokehプロトコルを使用して構成される。
protocol (Protocol) -- 収集されたメッセージセグメントを組み合わせるためのBokehプロトコルオブジェクト。
consume
単一のプロトコルメッセージセグメントを使用する。
fragment (JSON) -- 組み立てなければならないメッセージ断片。完全なメッセージを組み立てた後、受信側の状態は、新しいメッセージの使用を開始するようにリセットされる。