Diarkis C++Client Library API Document
DiarkisRpcBase クラス

サンプルRPC機能を実装する基本クラス [詳解]

#include <DiarkisRpcBase.h>

DiarkisRpcBase 連携図

公開メンバ関数

 DiarkisRpcBase ()
 DiarkisRpcBaseのコンストラクタ [詳解]
 
virtual ~DiarkisRpcBase ()
 DiarkisRpcBaseデストラクタ [詳解]
 
virtual void SetupRpc (const char *uid, const std::shared_ptr< IDiarkisRoom > &room, const std::shared_ptr< LoggerFactory > &loggerFactory)
 RPCを設定します。 [詳解]
 
virtual void SetupRpc (const std::string &uid, const std::shared_ptr< IDiarkisRoom > &room, const std::shared_ptr< LoggerFactory > &loggerFactory)
 SetupRpc()と同じです [詳解]
 
virtual bool RPCAll (uint32_t rpcID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
 
virtual bool RPCAll (uint32_t rpcID, const std::vector< uint8_t > &payload, bool reliable=true)
 RPCAll()と同じ [詳解]
 
virtual bool RPCMany (uint32_t rpcID, const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable=true)
 ルームに参加しているメンバーの任意のRPCを呼び出す。 [詳解]
 
virtual bool RPCMany (uint32_t rpcID, const std::vector< std::string > &memberIDs, const std::vector< uint8_t > &payload, bool reliable=true)
 RPCMany()と同じ [詳解]
 
virtual bool RPCOne (uint32_t rpcID, const char *userID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
 ルームに参加している特定のメンバーのRPCを呼び出します。 [詳解]
 
virtual bool RPCOne (uint32_t rpcID, const std::string &userID, const std::vector< uint8_t > &payload, bool reliable=true)
 RPCOne()と同じです [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisRPCrpc_
 IDiarkisRPCクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisRoomroom_
 IDiarkisRoomクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerへのポインタ [詳解]
 
Diarkis::StdString ownUid_
 ユーザーID [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 

詳解

サンプルRPC機能を実装する基本クラス

構築子と解体子

◆ DiarkisRpcBase()

DiarkisRpcBase::DiarkisRpcBase ( )

DiarkisRpcBaseのコンストラクタ

◆ ~DiarkisRpcBase()

DiarkisRpcBase::~DiarkisRpcBase ( )
virtual

DiarkisRpcBaseデストラクタ

関数詳解

◆ SetupRpc() [1/2]

void DiarkisRpcBase::SetupRpc ( const char *  uid,
const std::shared_ptr< IDiarkisRoom > &  room,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual

RPCを設定します。

ロガーとコールバック関数を登録します。

引数
[in]uidあなたのユーザーID
[in]roomIDiarkisRoomクラスへのポインター
[in]loggerFactoryクライアントライブラリのログ
呼び出し関係図:
被呼び出し関係図:

◆ SetupRpc() [2/2]

void DiarkisRpcBase::SetupRpc ( const std::string &  uid,
const std::shared_ptr< IDiarkisRoom > &  room,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual

SetupRpc()と同じです

呼び出し関係図:

◆ RPCAll() [1/2]

bool DiarkisRpcBase::RPCAll ( uint32_t  rpcID,
const uint8_t *  payload,
size_t  payloadSize,
bool  reliable = true 
)
virtual
呼び出し関係図:
被呼び出し関係図:

◆ RPCAll() [2/2]

bool DiarkisRpcBase::RPCAll ( uint32_t  rpcID,
const std::vector< uint8_t > &  payload,
bool  reliable = true 
)
virtual

RPCAll()と同じ

呼び出し関係図:

◆ RPCMany() [1/2]

bool DiarkisRpcBase::RPCMany ( uint32_t  rpcID,
const char **  memberIDs,
size_t  memberIDsCount,
const uint8_t *  payload,
size_t  payloadSize,
bool  reliable = true 
)
virtual

ルームに参加しているメンバーの任意のRPCを呼び出す。

引数
[in]rpcID呼び出すRPCのID
[in]memberIDs呼び出すメンバーのユーザーIDのリスト
[in]memberIDsCountメンバーIDの数
[in]payload送信するデータ
[in]payloadSizeペイロードの長さ
[in]reliable信頼性のある通信(RUDP)で送信するかどうかを決定します。
被呼び出し関係図:

◆ RPCMany() [2/2]

bool DiarkisRpcBase::RPCMany ( uint32_t  rpcID,
const std::vector< std::string > &  memberIDs,
const std::vector< uint8_t > &  payload,
bool  reliable = true 
)
virtual

RPCMany()と同じ

呼び出し関係図:

◆ RPCOne() [1/2]

bool DiarkisRpcBase::RPCOne ( uint32_t  rpcID,
const char *  userID,
const uint8_t *  payload,
size_t  payloadSize,
bool  reliable = true 
)
virtual

ルームに参加している特定のメンバーのRPCを呼び出します。

引数
[in]rpcID呼び出すRPCのID
[in]userIDターゲットユーザーのID
[in]payload送信するデータ
[in]payloadSizeペイロードの長さ
[in]reliable信頼性のある通信(RUDP)で送信するかどうかを決定します。
被呼び出し関係図:

◆ RPCOne() [2/2]

bool DiarkisRpcBase::RPCOne ( uint32_t  rpcID,
const std::string &  userID,
const std::vector< uint8_t > &  payload,
bool  reliable = true 
)
virtual

RPCOne()と同じです

呼び出し関係図:

メンバ詳解

◆ rpc_

std::shared_ptr<IDiarkisRPC> DiarkisRpcBase::rpc_
protected

IDiarkisRPCクラスへのポインタ

◆ room_

std::shared_ptr<IDiarkisRoom> DiarkisRpcBase::room_
protected

IDiarkisRoomクラスへのポインタ

◆ logger_

std::shared_ptr<IDiarkisLogger> DiarkisRpcBase::logger_
protected

IDiarkisLoggerへのポインタ

◆ ownUid_

Diarkis::StdString DiarkisRpcBase::ownUid_
protected

ユーザーID

◆ eventUnsubscriptions_

Diarkis::StdVector<std::function<void()> > DiarkisRpcBase::eventUnsubscriptions_
protected

ラムダ関数のリスト


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