nlib
nn::nlib::msgpack::jsonrpc::JsonRpcRequest クラスfinal

JSON-RPCのリクエストを表すクラスです。 [詳解]

#include "nn/nlib/msgpack/jsonrpc/JsonRpcRequest.h"

公開メンバ関数

 JsonRpcRequest () noexcept
 デフォルトコンストラクタです。
 
reqid_t GetId () const noexcept
 このリクエストのid を取得します。0の場合はリクエストはnotificationとなります。 [詳解]
 
const char * GetMethod () const noexcept
 このリクエストのメソッド名を取得します。 [詳解]
 
const MpObjectGetParams () const noexcept
 このリクエストのパラメータを取得します。 [詳解]
 
MpObjectGetParams () noexcept
 このリクエストのパラメータを取得します。 [詳解]
 
void SetId (reqid_t id) noexcept
 リクエストのidを設定します。 [詳解]
 
bool SetMethod (const char *method) noexcept
 リクエストのメソッド名を設定します。 [詳解]
 
void MoveParamsFrom (MpObject &params) noexcept
 JSON-RPCのパラメータを設定します。 [詳解]
 

詳解

JSON-RPCのリクエストを表すクラスです。

説明
JSON-RPCのRPC呼び出しは、JSONで記述されたリクエストをサーバーに送信することで行われます。 JSON-RPCのリクエストは、次の4つのキーを含むJSONの連想配列です。
jsonrpc:
値には"2.0"という文字列が入ります。
method:
値は文字列で、リモートで呼び出す関数名が設定されます。
params:
リモートで呼び出す関数に渡されるパラメータです。
id:
JsonRpcClient::GenerateId()で作成された32bitの正の整数が指定されます。 サーバーはリクエストに対するレスポンスに同じid をつけて関連付けます。
もしidがリクエストに含まれない場合は、そのリクエストはnotification(サーバーはリクエストに返信しない)です。

JsonRpcRequest.h44 行目に定義があります。

関数詳解

◆ GetId()

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetId ( ) const
inlinenoexcept

このリクエストのid を取得します。0の場合はリクエストはnotificationとなります。

戻り値
JSON-RPCリクエストのid

JsonRpcRequest.h50 行目に定義があります。

◆ GetMethod()

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetMethod ( ) const
inlinenoexcept

このリクエストのメソッド名を取得します。

戻り値
メソッド名

JsonRpcRequest.h51 行目に定義があります。

◆ GetParams() [1/2]

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetParams ( ) const
inlinenoexcept

このリクエストのパラメータを取得します。

戻り値
パラメータ

JsonRpcRequest.h52 行目に定義があります。

◆ GetParams() [2/2]

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetParams ( )
inlinenoexcept

このリクエストのパラメータを取得します。

戻り値
パラメータ

JsonRpcRequest.h53 行目に定義があります。

◆ MoveParamsFrom()

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::MoveParamsFrom ( MpObject params)
inlinenoexcept

JSON-RPCのパラメータを設定します。

引数
[in,out]paramsJSON-RPCのパラメータ
説明
MpObjectのコピーを避けるために、パラメータを設定する際にparams の内容はコピーされるのではなく、JsonRpcRequestオブジェクト内部に移動します。

JsonRpcRequest.h57 行目に定義があります。

◆ SetId()

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::SetId ( reqid_t  id)
inlinenoexcept

リクエストのidを設定します。

引数
[in]idリクエストのid
説明
JsonRpcClient::GenerateId()で作成したidを設定します。 idはリクエスト毎に異なる必要があります。

JsonRpcRequest.h55 行目に定義があります。

◆ SetMethod()

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::SetMethod ( const char *  method)
noexcept

リクエストのメソッド名を設定します。

引数
[in]methodメソッド名
戻り値
成功した場合はtrue
説明
メソッド名の文字列はコピーされます。 その際の動的メモリ確保に失敗した場合はfalseを返します。

このクラス詳解は次のファイルから抽出されました: