JSON-RPCのレスポンスのバイト列を書きこむためのクラスです。
[詳解]
#include "nn/nlib/msgpack/jsonrpc/JsonRpcResponse.h"
JSON-RPCのレスポンスのバイト列を書きこむためのクラスです。
- 説明
- JSON-RPCのサーバー側で利用されるクラスです。
バイト列に変換した後の送信処理はユーザーが記述する必要があります。
JsonRpcServerExec()
内で利用されていて、サーバーの処理にJsonRpcServerExec
を利用する場合は利用する必要がありません。
JsonRpcResponse.h の 78 行目に定義があります。
§ JsonRpcResponseWriter()
nn::nlib::msgpack::jsonrpc::JsonRpcResponseWriter::JsonRpcResponseWriter |
( |
bool |
msgpack | ) |
|
|
inlineexplicitnoexcept |
引数にtrue
を指定するとmsgpack
のバイト列を作成します。
- 引数
-
[in] | msgpack | msgpack のバイト列を作成する場合はtrue |
JsonRpcResponse.h の 82 行目に定義があります。
§ BeginWriteResponse()
nn::nlib::msgpack::jsonrpc::JsonRpcResponseWriter::BeginWriteResponse |
( |
uint32_t |
n | ) |
|
|
noexcept |
JSON-RPCのレスポンスを書きこむ前に1回呼び出します。
- 引数
-
[in] | n | レスポンスの数(n >= 2でバッチリクエストへのレスポンスになる) |
- 戻り値
-
0 | 成功しました。 |
ENOMEM | メモリの確保に失敗した場合 |
§ EndWriteResponse()
JSON-RPCレスポンスの書き込みを完了します。
- 引数
-
[out] | ptr | バイト列が格納されるポインタ |
[out] | n | データのバイト数が書き込まれるポインタ |
- 戻り値
-
0 | 成功しました。 |
EINVAL | ptr またはn がNULL の場合 |
ERANGE | レスポンスの個数がBeginWriteRequest() で指定した数と一致しない場合 |
ENOMEM | メモリの確保に失敗した場合 |
- 説明
- 成功すると、
ptr
にn
バイトのデータが設定されます。 このデータをクライアントに送信することでサーバー側の処理が終わります。
§ WriteResponse()
nn::nlib::msgpack::jsonrpc::JsonRpcResponseWriter::WriteResponse |
( |
JsonRpcResponse * |
result | ) |
|
|
noexcept |
JSON-RPCのレスポンスを書き込みます。
- 引数
-
- 戻り値
-
0 | 成功しました。 |
EINVAL | result がNULL の場合 |
ERANGE | リクエストの個数がBeginWriteRequest() で指定した数を超えた場合 |
ENOMEM | メモリの確保に失敗した場合 |
その他 | JSON/msgpackの書き込みに失敗した際にエラーが発生した場合 |
- 説明
result
が指すオブジェクトの内容は変更されることがあります。
このクラス詳解は次のファイルから抽出されました: