33.32.2 プロセスベースのJSONRPC接続

jsonrpcライブラリーには利便性のために、ローカルサブプロセス(標準入力と標準出力を使用)やTCPホスト(ソケットを使用)、またはEmacsのプロセスオブジェクトが表現可能な他のリモートのエンドポイント(プロセスを参照)と対話可能なビルトインのjsonrpc-process-connectionトランスポート実装が付属しています。

このトランスポートを使用することによりJSONRPCメッセージはwire上にプレーンテキストとしてエンコードされて、“Content-Length”のように何らかの基本的なHTTPスタイルのエンベロープヘッダーが前置されます。

このJSONRPC最上層のトランスポートスキームを使用したアプリケーションの例は、Language Server Protocolを参照してください。

:request-dispatcher:notification-dispatcherという必須の初期化引数(initarg)に加えて、jsonrpc-process-connectionクラスのユーザーはmake-instanceへのキーワード/値ペアとして以下の初期化引数を渡す必要があります:

:process

値は生きたプロセスオブジェクト、またはそのようなオブジェクトを生成する引数のない関数でなければならない。プロセスオブジェクトを渡された場合には、そのオブジェクトには事前に確立された接続が含まれていることが期待される。それ以外の場合には、オブジェクトの作成直後に関数が呼び出される。

:on-shutdown

値はjsonrpc-process-connectionオブジェクトを単一の引数とする関数でなければならない。この関数は背後にあるプロセスオブジェクトの削除(jsonrpc-shutdownによる故意の削除、または何らかの外部要因による予期せぬ削除)の後に呼び出される。

This page has generated for branch:work/emacs-30_8ac894e2246f25d2a2a97d866b10e6e0b0fede5a, commit:b7b3c5b81a7a4eec61faa3ed3d7c731d52d3987b to check Japanese translation.