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

Diarkisライブラリを操作するインタフェースの基本クラス [詳解]

#include <DiarkisInterfaceBase.h>

DiarkisInterfaceBase 連携図

クラス

struct  ActiveInstanceList
 
struct  AsyncGetEndpointArgs
 エンドポイントプロセスを非同期で取得する際に渡す引数 [詳解]
 
struct  RuntimeThreadData
 

公開型

enum  AsyncGetEndpointStatus { AsyncGetEndpointStatus::NotRunning, AsyncGetEndpointStatus::Running, AsyncGetEndpointStatus::Finish }
 エンドポイントを非同期で取得するプロセスの実行状況 [詳解]
 

公開メンバ関数

 DiarkisInterfaceBase (const char *userId, bool bInitBaseClass=true)
 Diarkis インターフェースクラスのコンストラクタ [詳解]
 
 DiarkisInterfaceBase (const std::string &userId, bool bInitBaseClass=true)
 DiarkisInterfaceBase()と同じです [詳解]
 
virtual ~DiarkisInterfaceBase ()
 Diarkis インターフェースクラスのデストラクタ [詳解]
 
void UpdateComponents ()
 UDP、TCP、P2Pの更新機能 [詳解]
 
bool ConnectTcp (void)
 TCPサーバーに接続する。 [詳解]
 
virtual bool SetupTcp (void)
 DiarkisTcpBaseクラスを初期化する [詳解]
 
bool ConnectTcp (const char *tcpEndpoint)
 TCPサーバーに接続します。接続の状態は、DiarkisTCPBase::IsConnected() で確認できます。 [詳解]
 
bool ConnectTcp (const std::string &tcpEndpoint)
 ConnectTcp()と同じです [詳解]
 
bool ConnectUdp (void)
 UDPサーバーに接続する。 [詳解]
 
bool GetEndpoint (const char *host, const char *clientKey, const char *serverType, char *endpoint, size_t endpointBuf)
 HTTPサーバーからサーバー接続情報を取得します [詳解]
 
bool GetEndpoint (const std::string &host, const std::string &clientKey, const std::string &type, Diarkis::StdString &endpoint)
 GetEndpoint()と同じ [詳解]
 
virtual bool SetupUdp (void)
 DiarkisUdpBaseクラスを初期化する [詳解]
 
bool ConnectUdp (const char *udpEndpoint, const char *type, struct AuthInfo *auth)
 UDPサーバーに接続します。接続の状態はDiarkisUDPBase::IsConnected()で確認できます。 [詳解]
 
bool ConnectUdp (const char *udpEndpoint)
 ConnectUdp(const char*, const char*, struct AuthInfo*)と同じです [詳解]
 
bool ConnectUdp (const std::string &udpEndpoint)
 ConnectUdp(const char*, const char*, struct AuthInfo*)と同じです [詳解]
 
bool ConnectUdpAsync (const char *udpEndpoint)
 UDPサーバーに接続します。接続の状態はDiarkisUDPBase::IsConnected()で確認できます。 [詳解]
 
bool ConnectUdpAsync (const std::string &udpEndpoint)
 ConnectUdpAsync()と同じです [詳解]
 
bool ConnectUdpDualModeAsync (const char *udpEndpoint)
 ソケットデュアルモード(IPv6の明示的なサポート)を使用して非同期でサーバーに接続を試みます。 接続が成功した場合、GetConnectedEventが呼び出されます。 このメソッドでサーバーに接続すると、P2Pが無効になります。 [詳解]
 
bool ConnectUdpDualModeAsync (const std::string &udpEndpoint)
 ConnectUdpDualModeAsync()と同じです [詳解]
 
void GetAuthInfo (struct AuthInfo *auth)
 GetEndpoint() で取得した AuthInfo を取得します。 [詳解]
 
virtual void SetupP2P (void)
 P2P設定関数 [詳解]
 
void CloseP2P (void)
 すべてのP2P接続を切断します [詳解]
 
virtual void SetupRoom (bool bRetry=false)
 
virtual void SetupSession (bool bRetry=false)
 Session機能のセットアップ関数 [詳解]
 
virtual void SetupRpc ()
 RPCのセットアップ関数 [詳解]
 
virtual void SetupField (void)
 Field関数のセットアップ関数 [詳解]
 
virtual void SetupGroup (bool bRetry)
 Group関数のセットアップ関数です [詳解]
 
virtual void SetupMatchMaker (void)
 MatchMaker機能の設定関数 [詳解]
 
virtual void SetupDirectMessage (void)
 DirectMessageのセットアップ関数 [詳解]
 
virtual void SetupProfile (uint32_t interval, uint32_t buffer, bool p2pRandomStart=true)
 プロファイル機能の設定 [詳解]
 
void SetHost (const char *host)
 接続するためのHTTPサーバーアドレスを設定する [詳解]
 
void SetHost (const std::string &host)
 SetHost()と同じ [詳解]
 
Diarkis::StdString GetHost () const
 HTTPサーバーアドレスを取得する [詳解]
 
const Diarkis::StdStringGetClientKey () const
 接続先のクライアントキーを取得する [詳解]
 
void SetClientKey (const char *clientKey)
 接続先のクライアントキーを設定する [詳解]
 
void SetClientKey (const std::string &clientKey)
 SetClientKey()と同じです [詳解]
 
const Diarkis::StdStringGetUid () const
 ユーザーIDを取得する [詳解]
 
Diarkis::StdString GetSid () const
 SIDを取得する [詳解]
 
void SetSid (const char *sid)
 SIDを設定する [詳解]
 
void SetSid (const std::string &sid)
 SetSid()と同じです [詳解]
 
std::shared_ptr< LoggerFactoryGetLoggerFactory ()
 ロガーを取得する [詳解]
 
std::shared_ptr< ILoggerBackendGetConsoleLoggerBackend ()
 コンソール出力ログを取得する(現在は未使用) [詳解]
 
std::shared_ptr< ILoggerBackendGetDebugLoggerBackend ()
 デバッグ出力ログを取得する [詳解]
 
std::shared_ptr< DiarkisUdpBaseGetUdpBase ()
 DiarkisUdpBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisTcpBaseGetTcpBase ()
 DiarkisTcpBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisP2PBaseGetP2PBase ()
 DiarkisP2PBase クラスを取得する [詳解]
 
std::shared_ptr< DiarkisRoomBaseGetRoomBase ()
 DiarkisRoomBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisSessionBaseGetSessionBase ()
 DiarkisSessionBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisGroupBaseGetGroupBase ()
 DiarkisGroupBaseクラスを取得します [詳解]
 
std::shared_ptr< DiarkisFieldBaseGetFieldBase ()
 DiarkisFieldBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisMatchMakerBaseGetMatchMakerBase ()
 DiarkisMatchMakerBase クラスを取得する [詳解]
 
std::shared_ptr< DiarkisRpcBaseGetRpcBase ()
 DiarkisRpcBaseクラスを取得する [詳解]
 
std::shared_ptr< DiarkisDirectMessageBaseGetDirectMessageBase ()
 DiarkisDirectMessageBaseクラスを取得する [詳解]
 
std::shared_ptr< Diarkis::Network::IDiarkisProfileGetProfile ()
 プロファイリング機能のためのインターフェースであるIDiarkisProfileクラスを取得します [詳解]
 
void Stop ()
 更新ループを停止する [詳解]
 
void Disconnect ()
 TCP、UDP、およびP2P接続を切断する [詳解]
 
void SendPing (void)
 UDPサーバーにpingを送信する [詳解]
 
void SendEcho (void)
 UDPサーバーにエコーを送信します [詳解]
 
bool IsOffline (void)
 UDPまたはTCPサーバーがシャットダウンの準備をしているかどうか [詳解]
 
void StartP2P (void)
 DiarkisRoomBase::SendStartP2PSync()を呼び出します [詳解]
 
uint16_t GetP2PConnectedNum (void)
 P2P接続されたクライアントの数を取得します [詳解]
 
void CreateRoom (uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
 新しいRoomを作成します。 [詳解]
 
void RandomJoinRoom (uint16_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty)
 利用可能な場合は部屋に参加し、そうでない場合は新しい部屋を作成します。 [詳解]
 
void JoinRoom ()
 ルームに参加します。 [詳解]
 
void JoinRoom (const char *roomID)
 ルームに参加します。 [詳解]
 
void JoinRoom (const std::string &roomID)
 JoinRoom(const char*)と同じです [詳解]
 
void SendMessageToRoom (const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
 特定のメンバーにメッセージを送信します。 [詳解]
 
void SendMessageToRoom (const std::vector< std::string > &memberIDs, const std::vector< uint8_t > &payload, bool reliable)
 SendMessageToRoom()と同じです [詳解]
 
void SendLeaveRoom ()
 Roomから退出する。 [詳解]
 
void FindByTypeRoom (uint32_t roomType, uint32_t limit)
 同じタイプのRoomを検索します。 [詳解]
 
void RegisterRoom (uint32_t roomType, const char *roomName, const char *roomMetadata)
 参加しているRoomに関する追加情報を登録します。 [詳解]
 
void RegisterRoom (uint32_t roomType, const std::string &roomName, const std::string &roomMetadata)
 RegisterRoom()と同じです [詳解]
 
void SendMigrateRoom (void)
 ルームを別のサーバーに移動します。 [詳解]
 
void SendGetOwnerID (void)
 ルームのオーナーのユーザーIDを取得します。 [詳解]
 
void SendGetMemberIDs (void)
 Roomに参加しているメンバーのユーザーIDのリストを取得します。 [詳解]
 
Diarkis::StdString GetRoomID ()
 参加しているRoomのRoom IDを取得します。 [詳解]
 
void SendCreateGroup (bool allowEmpty, bool join, uint16_t ttl)
 新しいグループを作成します。 [詳解]
 
void SendJoinGroup (const char *groupID, const char *message)
 既存のグループに参加します。 [詳解]
 
void SendJoinGroup (const std::string &groupID, const std::string &message)
 SendJoinGroup()と同じです [詳解]
 
void SendRandomJoinGroup (uint16_t ttl, const char *message, uint32_t interval=200)
 参加できるグループがあれば、そのグループに参加し、そうでない場合は新しいグループを作成します。 [詳解]
 
void SendRandomJoinGroup (uint16_t ttl, const std::string &message, uint32_t interval=200)
 SendRandomJoinGroup()と同じです [詳解]
 
void SendLeaveGroup (const char *groupID, const char *message)
 指定されたグループから退出します。 [詳解]
 
void SendLeaveGroup (const std::string &groupID, const std::string &message)
 SendLeaveGroup()と同じです [詳解]
 
Diarkis::StdString GetGroupID ()
 参加しているGroupのIDを取得する。 [詳解]
 
void ClearUdpBuffer ()
 Socketの送受信バッファをクリアする [詳解]
 
bool RequestEndpointAsync (const char *host, const char *clientKey, const char *type, DiarkisThreadPolicy policy, int priority, uint32_t affinityMask, uint32_t stackSize)
 HTTPサーバーに接続し、非同期処理を行ってTCP/UDPエンドポイントを取得します。 [詳解]
 
bool RequestEndpointAsync (const std::string &host, const std::string &clientKey, const std::string &type, DiarkisThreadPolicy policy, int priority, uint32_t affinityMask, uint32_t stackSize)
 RequestEndpointAsyncと同じです [詳解]
 
AsyncGetEndpointStatus GetEndpointAsyncStatus () const
 サーバーエンドポイントを非同期で取得するプロセスの進行状況を取得する [詳解]
 
bool GetAsyncEndpointResult (Diarkis::StdString &endpoint) const
 非同期でエンドポイントを取得する結果を取得する [詳解]
 

静的公開メンバ関数

static bool DiarkisInit (const char *logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
 Diarkisの初期化 [詳解]
 
static bool DiarkisInit (const std::string &logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
 DiarkisInit()と同じです [詳解]
 
static bool DiarkisDestroy ()
 Diarkis終了処理 [詳解]
 

限定公開メンバ関数

void InitAndStartup (bool bInitBaseClass)
 ログと各モジュールのクラスを初期化する [詳解]
 
void SchedulerAddNotifyEvent ()
 TCP/UDP/P2Pのスケジューラにイベントが追加されたときに実行されるイベントです。 [詳解]
 
void TerminateGetEndpointAsyncThread ()
 エンドポイント非同期プロセスの取得スレッドを終了する [詳解]
 

静的限定公開メンバ関数

static void CreateLogFolder ()
 ログ出力先のフォルダを作成する [詳解]
 
static Diarkis::System::Result RuntimeLoop (void *owner)
 Diarkisクライアントライブラリの更新を呼び出すためのループ関数 [詳解]
 
static void InitializeLoggerEnvironment ()
 ログアウトタイプに応じてDiarkisのロガーを初期化します [詳解]
 
static bool IsLogOutputTypeFile ()
 ログがファイルに出力されているかを返す。 [詳解]
 
static Diarkis::System::Result GetEndpointAsync (void *owner)
 RequestEndpointAsync() によって実行されるスレッド [詳解]
 

限定公開変数類

std::shared_ptr< DiarkisTcpBasetcpBase_
 DiarkisTcpBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisUdpBaseudpBase_
 DiarkisUdpBase クラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisP2PBasep2pBase_
 DiarkisP2PBase クラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisRoomBaseroomBase_
 DiarkisRoomBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisSessionBasesessionBase_
 DiarkisSessionBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisGroupBasegroupBase_
 DiarkisGroupBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisFieldBasefieldBase_
 DiarkisFieldBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisMatchMakerBasematchMakerBase_
 DiarkisMatchMakerBaseクラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisRpcBaserpcBase_
 DiarkisRpcBase クラスへのポインタ [詳解]
 
std::shared_ptr< DiarkisDirectMessageBasedmBase_
 DiarkisDirectMessageBaseクラスへのポインター [詳解]
 
std::shared_ptr< Diarkis::Network::IDiarkisProfileprofile_
 IDiarkisProfileクラスへのポインタ [詳解]
 
Diarkis::StdString host_
 接続するHTTPサーバーのアドレス [詳解]
 
Diarkis::StdString clientKey_
 接続するHTTPサーバーのクライアントキー [詳解]
 
const Diarkis::StdString uid_
 自分のユーザーID [詳解]
 
Diarkis::StdString serverType_
 サーバータイプ [詳解]
 
Diarkis::StdString sid_
 セッションID [詳解]
 
AuthInfo authInfo_
 認証情報 [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 ロガークラスへのポインター [詳解]
 
std::shared_ptr< LoggerFactoryloggerFactory_
 LoggerFactoryへのポインタ [詳解]
 
std::mutex connectioninfoMutex_
 GetEndpointメソッドで変更される変数用のミューテックス [詳解]
 
std::mutex asyncGetEndpointMutex_
 非同期でエンドポイントを取得する全体のプロセスのためのミューテックス [詳解]
 
AsyncGetEndpointArgs asyncGetEndpointArgs_
 エンドポイントプロセスを非同期で取得する際の引数 [詳解]
 
AsyncGetEndpointStatus asyncGetEndpointStatus_
 エンドポイントを非同期で取得するプロセスの進行状況 [詳解]
 
bool asyncGetEndpointResult_
 エンドポイントを非同期で取得するプロセスの結果 [詳解]
 
Diarkis::StdString asyncEndpointResult_
 エンドポイントを非同期で取得するプロセスの結果 [詳解]
 
AuthInfo asyncAuthResult_
 エンドポイントを非同期で取得するプロセスの結果 [詳解]
 
std::shared_ptr< Diarkis::System::DiarkisThreadgetEndpointAsyncThread_
 エンドポイントを非同期で取得するプロセスに使用されるスレッド [詳解]
 
std::atomic< bool > internalSchedulerUpdated_
 スケジューラが更新されている場合に有効になるフラグ [詳解]
 

静的限定公開変数類

static RuntimeThreadData runtimeThreadData_
 ランタイムスレッドのデータ [詳解]
 
static ActiveInstanceList activeInstances_
 アクティブインスタンスのリストです。 [詳解]
 
static std::shared_ptr< LoggerFactoryglobalLoggerFactory_ = nullptr
 DiarkisInterfaceBaseのグローバルプロセスのロギングに使用されるLoggerFactory [詳解]
 
static std::shared_ptr< Diarkis::StdStringlogDir_ = nullptr
 ログ出力ディレクトリ名 [詳解]
 
static std::shared_ptr< ThreadedLoggerBackendthreadLoggerBackend_ = nullptr
 集団出力用のスレッド化されたロガー [詳解]
 
static std::shared_ptr< ILoggerBackendconsoleLoggerBackend_ = nullptr
 コンソール出力用のロガー [詳解]
 
static std::shared_ptr< ILoggerBackenddebugLoggerBackend_ = nullptr
 デバッグ出力のためのロガー [詳解]
 
static std::shared_ptr< ILoggerBackendfileLoggerBackend_ = nullptr
 ファイル出力用のロガー [詳解]
 
static std::shared_ptr< ILoggerBackendcustomLoggerBackend_ = nullptr
 カスタムロガー [詳解]
 
static std::shared_ptr< ILoggerBackendaggregatedLoggerBackend_ = nullptr
 LoggerFactoryで使用されるロガーインターフェース [詳解]
 
static LogOutType logOutType_ = LogOutType::FILE_OUT
 デバッグ出力のタイプ [詳解]
 
static bool bOutputLog_ = false
 ログ出力するかどうか [詳解]
 

詳解

Diarkisライブラリを操作するインタフェースの基本クラス

列挙型メンバ詳解

◆ AsyncGetEndpointStatus

エンドポイントを非同期で取得するプロセスの実行状況

列挙値
NotRunning 
Running 
Finish 

構築子と解体子

◆ DiarkisInterfaceBase() [1/2]

DiarkisInterfaceBase::DiarkisInterfaceBase ( const char *  userId,
bool  bInitBaseClass = true 
)

Diarkis インターフェースクラスのコンストラクタ

引数
[in]userIdユニークなユーザーID
[in]bInitBaseClass各種のベースクラスを初期化するかどうか
呼び出し関係図:

◆ DiarkisInterfaceBase() [2/2]

DiarkisInterfaceBase::DiarkisInterfaceBase ( const std::string &  userId,
bool  bInitBaseClass = true 
)

DiarkisInterfaceBase()と同じです

◆ ~DiarkisInterfaceBase()

DiarkisInterfaceBase::~DiarkisInterfaceBase ( )
virtual

Diarkis インターフェースクラスのデストラクタ

呼び出し関係図:

関数詳解

◆ DiarkisInit() [1/2]

bool DiarkisInterfaceBase::DiarkisInit ( const char *  logDirName,
LogOutType  out = DEBUG_OUT,
bool  bLog = true,
std::shared_ptr< ILoggerBackend customLogger = nullptr 
)
static

Diarkisの初期化

引数
[in]logDirNameログ出力ディレクトリ名
[in]outログ出力先を指定します (FILE_OUT、DEBUG_OUT)。
[in]bLogログを出力するかどうか
[in]customLoggerカスタムロガー指定。Diarkis内部ログをアプリ側のログに出力するために使用されます。
呼び出し関係図:
被呼び出し関係図:

◆ DiarkisInit() [2/2]

bool DiarkisInterfaceBase::DiarkisInit ( const std::string &  logDirName,
LogOutType  out = DEBUG_OUT,
bool  bLog = true,
std::shared_ptr< ILoggerBackend customLogger = nullptr 
)
static

DiarkisInit()と同じです

呼び出し関係図:

◆ DiarkisDestroy()

bool DiarkisInterfaceBase::DiarkisDestroy ( )
static

Diarkis終了処理

呼び出し関係図:

◆ UpdateComponents()

void DiarkisInterfaceBase::UpdateComponents ( )

UDP、TCP、P2Pの更新機能

◆ ConnectTcp() [1/3]

bool DiarkisInterfaceBase::ConnectTcp ( void  )

TCPサーバーに接続する。

呼び出し関係図:
被呼び出し関係図:

◆ SetupTcp()

bool DiarkisInterfaceBase::SetupTcp ( void  )
virtual

DiarkisTcpBaseクラスを初期化する

呼び出し関係図:

◆ ConnectTcp() [2/3]

bool DiarkisInterfaceBase::ConnectTcp ( const char *  tcpEndpoint)

TCPサーバーに接続します。接続の状態は、DiarkisTCPBase::IsConnected() で確認できます。

引数
[in]tcpEndpointTCPサーバーのアドレス
呼び出し関係図:

◆ ConnectTcp() [3/3]

bool DiarkisInterfaceBase::ConnectTcp ( const std::string &  tcpEndpoint)

ConnectTcp()と同じです

呼び出し関係図:

◆ ConnectUdp() [1/4]

bool DiarkisInterfaceBase::ConnectUdp ( void  )

UDPサーバーに接続する。

呼び出し関係図:
被呼び出し関係図:

◆ GetEndpoint() [1/2]

bool DiarkisInterfaceBase::GetEndpoint ( const char *  host,
const char *  clientKey,
const char *  serverType,
char *  endpoint,
size_t  endpointBuf 
)

HTTPサーバーからサーバー接続情報を取得します

引数
[in]hostHTTPサーバーアドレス
[in]clientKeyHTTPサーバーのクライアントキー
[in]serverTypeサーバータイプ
[in]endpoint取得したサーバーアドレス
[in]endpointBufエンドポイントの長さ
戻り値
bool true=HTTPサーバーからサーバー情報の取得に成功しました
呼び出し関係図:
被呼び出し関係図:

◆ GetEndpoint() [2/2]

bool DiarkisInterfaceBase::GetEndpoint ( const std::string &  host,
const std::string &  clientKey,
const std::string &  type,
Diarkis::StdString endpoint 
)

GetEndpoint()と同じ

呼び出し関係図:

◆ SetupUdp()

bool DiarkisInterfaceBase::SetupUdp ( void  )
virtual

DiarkisUdpBaseクラスを初期化する

呼び出し関係図:

◆ ConnectUdp() [2/4]

bool DiarkisInterfaceBase::ConnectUdp ( const char *  udpEndpoint,
const char *  type,
struct AuthInfo auth 
)

UDPサーバーに接続します。接続の状態はDiarkisUDPBase::IsConnected()で確認できます。

引数
[in]udpEndpointUDPサーバーのアドレス
[in]typeサーバータイプ
[in]auth認証情報
呼び出し関係図:

◆ ConnectUdp() [3/4]

bool DiarkisInterfaceBase::ConnectUdp ( const char *  udpEndpoint)

ConnectUdp(const char*, const char*, struct AuthInfo*)と同じです

呼び出し関係図:

◆ ConnectUdp() [4/4]

bool DiarkisInterfaceBase::ConnectUdp ( const std::string &  udpEndpoint)

ConnectUdp(const char*, const char*, struct AuthInfo*)と同じです

呼び出し関係図:

◆ ConnectUdpAsync() [1/2]

bool DiarkisInterfaceBase::ConnectUdpAsync ( const char *  udpEndpoint)

UDPサーバーに接続します。接続の状態はDiarkisUDPBase::IsConnected()で確認できます。

このメソッドは非同期接続プロセスを起動した後、すぐにリターンします。 非同期プロセスの進行状況はDiarkisUdpbase::IsAsyncConnectRunning()を使用して観察できます。 非同期プロセスの結果はDiarkisUdpbase::GetAsyncConnectResult()を使用して取得できます。 接続が成功したかどうかはDiarkisUdpBase::IsConnected()で確認されます。

引数
[in]udpEndpointUDPサーバーのアドレス
戻り値
bool true: UDPサーバーとの接続プロセスが呼び出し可能な状態
呼び出し関係図:
被呼び出し関係図:

◆ ConnectUdpAsync() [2/2]

bool DiarkisInterfaceBase::ConnectUdpAsync ( const std::string &  udpEndpoint)

ConnectUdpAsync()と同じです

呼び出し関係図:

◆ ConnectUdpDualModeAsync() [1/2]

bool DiarkisInterfaceBase::ConnectUdpDualModeAsync ( const char *  udpEndpoint)

ソケットデュアルモード(IPv6の明示的なサポート)を使用して非同期でサーバーに接続を試みます。 接続が成功した場合、GetConnectedEventが呼び出されます。 このメソッドでサーバーに接続すると、P2Pが無効になります。

引数
[in]udpEndpointリモートエンドポイントのアドレス/ホスト名
呼び出し関係図:
被呼び出し関係図:

◆ ConnectUdpDualModeAsync() [2/2]

bool DiarkisInterfaceBase::ConnectUdpDualModeAsync ( const std::string &  udpEndpoint)

ConnectUdpDualModeAsync()と同じです

呼び出し関係図:

◆ GetAuthInfo()

void DiarkisInterfaceBase::GetAuthInfo ( struct AuthInfo auth)

GetEndpoint() で取得した AuthInfo を取得します。

引数
[in]authAuthInfo を格納するためのポインタ

◆ SetupP2P()

void DiarkisInterfaceBase::SetupP2P ( void  )
virtual

P2P設定関数

P2P接続はUDPプロトコルを使用している場合のみ利用可能です。

呼び出し関係図:

◆ CloseP2P()

void DiarkisInterfaceBase::CloseP2P ( void  )

すべてのP2P接続を切断します

◆ SetupRoom()

void DiarkisInterfaceBase::SetupRoom ( bool  bRetry = false)
virtual

◆ SetupSession()

void DiarkisInterfaceBase::SetupSession ( bool  bRetry = false)
virtual

Session機能のセットアップ関数

この関数を呼び出す前に、使用するプロトコルに応じてSetupUdpまたはSetupTcpを呼び出す必要があります。

引数
[in]bRetryセッションに参加できなかった後に再接続する場合はtrueで呼び出します。
この関数を最初に呼び出すときは、falseで呼び出す必要があります。

◆ SetupRpc()

void DiarkisInterfaceBase::SetupRpc ( )
virtual

RPCのセットアップ関数

呼び出し関係図:

◆ SetupField()

void DiarkisInterfaceBase::SetupField ( void  )
virtual

Field関数のセットアップ関数

この関数を呼び出す前に、使用するプロトコルに応じてSetupUdpまたはSetupTcpを呼び出す必要があります。

◆ SetupGroup()

void DiarkisInterfaceBase::SetupGroup ( bool  bRetry)
virtual

Group関数のセットアップ関数です

この関数を呼び出す前に、使用するプロトコルに応じてSetupUdpまたはSetupTcpを呼び出す必要があります。

引数
[in]bRetryグループに参加できなかった後に再接続する場合はtrueで呼び出します。
この関数を最初に呼び出すときは、falseで呼び出す必要があります。

◆ SetupMatchMaker()

void DiarkisInterfaceBase::SetupMatchMaker ( void  )
virtual

MatchMaker機能の設定関数

この関数を呼び出す前に、使用するプロトコルに応じてSetupUdpまたはSetupTcpを呼び出す必要があります。

◆ SetupDirectMessage()

void DiarkisInterfaceBase::SetupDirectMessage ( void  )
virtual

DirectMessageのセットアップ関数

この関数を呼び出す前に、使用するプロトコルに応じて、SetupUdpまたはSetupTcpを呼び出す必要があります。

◆ SetupProfile()

void DiarkisInterfaceBase::SetupProfile ( uint32_t  interval,
uint32_t  buffer,
bool  p2pRandomStart = true 
)
virtual

プロファイル機能の設定

P2PまたはRoomに接続されたクライアント間でプロファイルデータを交換します

引数
[in]intervalプロファイルパケットを送信する間隔(デフォルト5000 ms、最小300 ms)
[in]buffer格納されるプロファイリングデータの数(デフォルトは16で、最新の16データを保存します。最小8、最大256)
[in]p2pRandomStartP2Pで各接続されたユーザーにプロファイルパケットを同時に送信しないように、初期送信タイミングをランダムな時間で段階的にするかどうか
呼び出し関係図:

◆ SetHost() [1/2]

void DiarkisInterfaceBase::SetHost ( const char *  host)

接続するためのHTTPサーバーアドレスを設定する

被呼び出し関係図:

◆ SetHost() [2/2]

void DiarkisInterfaceBase::SetHost ( const std::string &  host)

SetHost()と同じ

呼び出し関係図:

◆ GetHost()

Diarkis::StdString DiarkisInterfaceBase::GetHost ( ) const

HTTPサーバーアドレスを取得する

被呼び出し関係図:

◆ GetClientKey()

const Diarkis::StdString & DiarkisInterfaceBase::GetClientKey ( ) const

接続先のクライアントキーを取得する

被呼び出し関係図:

◆ SetClientKey() [1/2]

void DiarkisInterfaceBase::SetClientKey ( const char *  clientKey)

接続先のクライアントキーを設定する

~@japanese

被呼び出し関係図:

◆ SetClientKey() [2/2]

void DiarkisInterfaceBase::SetClientKey ( const std::string &  clientKey)

SetClientKey()と同じです

呼び出し関係図:

◆ GetUid()

const Diarkis::StdString & DiarkisInterfaceBase::GetUid ( ) const

ユーザーIDを取得する

被呼び出し関係図:

◆ GetSid()

Diarkis::StdString DiarkisInterfaceBase::GetSid ( ) const

SIDを取得する

◆ SetSid() [1/2]

void DiarkisInterfaceBase::SetSid ( const char *  sid)

SIDを設定する

被呼び出し関係図:

◆ SetSid() [2/2]

void DiarkisInterfaceBase::SetSid ( const std::string &  sid)

SetSid()と同じです

呼び出し関係図:

◆ GetLoggerFactory()

std::shared_ptr< LoggerFactory > DiarkisInterfaceBase::GetLoggerFactory ( )

ロガーを取得する

被呼び出し関係図:

◆ GetConsoleLoggerBackend()

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::GetConsoleLoggerBackend ( )

コンソール出力ログを取得する(現在は未使用)

◆ GetDebugLoggerBackend()

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::GetDebugLoggerBackend ( )

デバッグ出力ログを取得する

◆ GetUdpBase()

std::shared_ptr< DiarkisUdpBase > DiarkisInterfaceBase::GetUdpBase ( )

DiarkisUdpBaseクラスを取得する

◆ GetTcpBase()

std::shared_ptr< DiarkisTcpBase > DiarkisInterfaceBase::GetTcpBase ( )

DiarkisTcpBaseクラスを取得する

◆ GetP2PBase()

std::shared_ptr< DiarkisP2PBase > DiarkisInterfaceBase::GetP2PBase ( )

DiarkisP2PBase クラスを取得する

◆ GetRoomBase()

std::shared_ptr< DiarkisRoomBase > DiarkisInterfaceBase::GetRoomBase ( )

DiarkisRoomBaseクラスを取得する

◆ GetSessionBase()

std::shared_ptr< DiarkisSessionBase > DiarkisInterfaceBase::GetSessionBase ( )

DiarkisSessionBaseクラスを取得する

◆ GetGroupBase()

std::shared_ptr< DiarkisGroupBase > DiarkisInterfaceBase::GetGroupBase ( )

DiarkisGroupBaseクラスを取得します

◆ GetFieldBase()

std::shared_ptr< DiarkisFieldBase > DiarkisInterfaceBase::GetFieldBase ( )

DiarkisFieldBaseクラスを取得する

◆ GetMatchMakerBase()

std::shared_ptr< DiarkisMatchMakerBase > DiarkisInterfaceBase::GetMatchMakerBase ( )

DiarkisMatchMakerBase クラスを取得する

◆ GetRpcBase()

std::shared_ptr< DiarkisRpcBase > DiarkisInterfaceBase::GetRpcBase ( )

DiarkisRpcBaseクラスを取得する

◆ GetDirectMessageBase()

std::shared_ptr< DiarkisDirectMessageBase > DiarkisInterfaceBase::GetDirectMessageBase ( )

DiarkisDirectMessageBaseクラスを取得する

◆ GetProfile()

std::shared_ptr< Diarkis::Network::IDiarkisProfile > DiarkisInterfaceBase::GetProfile ( )

プロファイリング機能のためのインターフェースであるIDiarkisProfileクラスを取得します

◆ Stop()

void DiarkisInterfaceBase::Stop ( )

更新ループを停止する

呼び出し関係図:
被呼び出し関係図:

◆ Disconnect()

void DiarkisInterfaceBase::Disconnect ( )

TCP、UDP、およびP2P接続を切断する

◆ SendPing()

void DiarkisInterfaceBase::SendPing ( void  )

UDPサーバーにpingを送信する

◆ SendEcho()

void DiarkisInterfaceBase::SendEcho ( void  )

UDPサーバーにエコーを送信します

◆ IsOffline()

bool DiarkisInterfaceBase::IsOffline ( void  )

UDPまたはTCPサーバーがシャットダウンの準備をしているかどうか

◆ StartP2P()

void DiarkisInterfaceBase::StartP2P ( void  )

◆ GetP2PConnectedNum()

uint16_t DiarkisInterfaceBase::GetP2PConnectedNum ( void  )

P2P接続されたクライアントの数を取得します

◆ CreateRoom()

void DiarkisInterfaceBase::CreateRoom ( uint16_t  maxMembers,
bool  allowEmpty,
bool  join,
uint16_t  ttl,
uint32_t  interval 
)

新しいRoomを作成します。

GetCreateEvent() で登録されたコールバックイベント(例:OnRoomCreation)がトリガーされます。

引数
[in]maxMembers作成されるRoomに参加できるクライアントの最大数。
[in]allowEmptyクライアントが一人も参加していなくてもRoomを保持するかどうかを決定します。
[in]joinRoomが作成された後に参加するかどうかを指定します。 true = Roomを作成後に参加します。サーバーからJoin応答は送信されません。 false = Roomを作成のみします。Roomに参加したい場合は別途Joinを行う必要があります。
[in]ttlRoomが空になった後の時間を秒単位で指定します。allowEmptyにtrueが指定された場合にのみ使用されます。
[in]intervalサーバーがBroadcastメッセージなどを処理する間隔をミリ秒単位で指定します。 intervalの値が大きい場合、サーバーの負荷が軽減されますが、メッセージの受信に遅延が発生します。 intervalの値が小さい場合、サーバーの負荷が増加しますが、メッセージはサーバーから直ちに送信されます。 デフォルト値は200 msです。

◆ RandomJoinRoom()

void DiarkisInterfaceBase::RandomJoinRoom ( uint16_t  maxMembers,
uint16_t  ttl,
uint32_t  interval,
bool  allowEmpty 
)

利用可能な場合は部屋に参加し、そうでない場合は新しい部屋を作成します。

新しい部屋が作成されると、GetCreateEvent()(例:OnRoomCreationに登録されたコールバックイベント)と
GetJoinEvent()(例:OnRoomJoinに登録されたコールバックイベント)に登録されたコールバックイベントがトリガーされます。
既存の部屋に参加する場合、GetJoinEvent()に登録されたコールバックイベントのみがトリガーされます。

引数
[in]maxMembers作成される部屋に参加できるクライアントの最大数。
[in]ttl部屋が空になってからの期間(秒単位)、allowEmptyがtrueに設定されている場合にのみ使用されます。
[in]intervalサーバーがメッセージを処理する間隔をミリ秒単位で指定します。
メッセージはサーバーで指定された間隔時間にまとめて送信されます。
intervalの値が大きい場合、サーバーの負荷が軽減されますが、メッセージの受信に遅延が生じます。
intervalの値が小さい場合、サーバーの負荷が増加しますが、メッセージはサーバーから直ちに送信されます。
デフォルト値は200 msです。
[in]allowEmpty誰も参加しないときでもクライアントが部屋を保持するかどうかを決定します。
呼び出し関係図:

◆ JoinRoom() [1/3]

void DiarkisInterfaceBase::JoinRoom ( )

ルームに参加します。

GetJoinEvent() で登録されたコールバックイベント(例:OnRoomJoin)がトリガーされます。
ルームのメンバーには GetMemberJoinEvent() で登録されたコールバックイベント(例:OnRoomMemberJoin)がトリガーされます。 uid で指定されたユーザーIDはコールバックイベントから受け取ることができます。

呼び出し関係図:
被呼び出し関係図:

◆ JoinRoom() [2/3]

void DiarkisInterfaceBase::JoinRoom ( const char *  roomID)

ルームに参加します。

GetJoinEvent() で登録されたコールバックイベント(例:OnRoomJoin)がトリガーされます。
GetMemberJoinEvent() で登録されたコールバックイベント(例:OnRoomMemberJoin)が、ルームのメンバーにトリガーされます。 uid で指定されたユーザーIDは、コールバックイベントから受け取ることができます。

引数
[in]roomID参加するルームのID
呼び出し関係図:

◆ JoinRoom() [3/3]

void DiarkisInterfaceBase::JoinRoom ( const std::string &  roomID)

JoinRoom(const char*)と同じです

呼び出し関係図:

◆ SendMessageToRoom() [1/2]

void DiarkisInterfaceBase::SendMessageToRoom ( const char **  memberIDs,
size_t  memberIDsCount,
const uint8_t *  payload,
size_t  payloadSize,
bool  reliable 
)

特定のメンバーにメッセージを送信します。

GetMemberMessageEvent() で登録されたコールバックイベント(例:OnRoomMemberMessage)がトリガーされます。

引数
[in]memberIDs送信するメンバーのユーザーIDのリスト
[in]memberIDsCountmemberIDの数
[in]payload送信するメッセージ
[in]payloadSizeペイロードの長さ
[in]reliableメッセージが信頼性のある通信(RUDP)を介して送信されるかどうかを決定します。TCPプロトコルの場合は無視されます。
被呼び出し関係図:

◆ SendMessageToRoom() [2/2]

void DiarkisInterfaceBase::SendMessageToRoom ( const std::vector< std::string > &  memberIDs,
const std::vector< uint8_t > &  payload,
bool  reliable 
)

SendMessageToRoom()と同じです

呼び出し関係図:

◆ SendLeaveRoom()

void DiarkisInterfaceBase::SendLeaveRoom ( )

Roomから退出する。

GetLeaveEvent()で登録されたコールバックイベント(例:OnRoomLeave)がトリガーされる。
退出が成功した場合、GetMemberLeaveEvent()で登録されたコールバックイベント(例:OnRoomMemberLeave)が
Roomの各メンバーに対してトリガーされる。

呼び出し関係図:

◆ FindByTypeRoom()

void DiarkisInterfaceBase::FindByTypeRoom ( uint32_t  roomType,
uint32_t  limit 
)

同じタイプのRoomを検索します。

GetFindByTypeEvnet()で登録されたコールバックイベント(たとえば、OnRoomFindByType)がトリガーされます。
コールバックイベントでは、検索結果のRoomリストを受け取ることができます。

引数
[in]roomType検索するRoomのタイプ
[in]limit検索結果のRoomリストの最大数

◆ RegisterRoom() [1/2]

void DiarkisInterfaceBase::RegisterRoom ( uint32_t  roomType,
const char *  roomName,
const char *  roomMetadata 
)

参加しているRoomに関する追加情報を登録します。

FindRoomsByTypeによるタイプの検索に影響します。

引数
[in]roomTypeRoomのタイプ
[in]roomNameRoomの名前
[in]roomMetadataRoomの拡張された文字列
被呼び出し関係図:

◆ RegisterRoom() [2/2]

void DiarkisInterfaceBase::RegisterRoom ( uint32_t  roomType,
const std::string &  roomName,
const std::string &  roomMetadata 
)

RegisterRoom()と同じです

呼び出し関係図:

◆ SendMigrateRoom()

void DiarkisInterfaceBase::SendMigrateRoom ( void  )

ルームを別のサーバーに移動します。

ルームのオーナーのみがこの関数を呼び出すことができます。
正常に実行されると、サーバーからルームの各メンバーに通知が送信されます。
また、GetMigrateEvent()(例:OnRoomMigrateで登録されたコールバックイベント)がトリガーされます。
ライブラリは内部的に現在参加しているルームから離脱し、新しいルームに参加します。

◆ SendGetOwnerID()

void DiarkisInterfaceBase::SendGetOwnerID ( void  )

ルームのオーナーのユーザーIDを取得します。

GetOwnerIDEvent() で登録されたコールバックイベント(例:OnGetOwnerID)がトリガーされます。

◆ SendGetMemberIDs()

void DiarkisInterfaceBase::SendGetMemberIDs ( void  )

Roomに参加しているメンバーのユーザーIDのリストを取得します。

GetMemberIDSEvent() に登録されたコールバックイベント(例:OnRoomMemberIDs)がトリガーされます。

◆ GetRoomID()

Diarkis::StdString DiarkisInterfaceBase::GetRoomID ( )

参加しているRoomのRoom IDを取得します。

◆ SendCreateGroup()

void DiarkisInterfaceBase::SendCreateGroup ( bool  allowEmpty,
bool  join,
uint16_t  ttl 
)

新しいグループを作成します。

GetCreateEvent() で登録されたコールバックイベント(例:OnGroupCreation)がトリガーされます。

引数
[in]allowEmptyクライアントが誰も参加していない場合にもグループを保持するかどうかを決定します。
true = クライアントがいなくてもグループを保持します。
false = クライアントがいなければ、ttl で指定された時間が経過した後、グループは破棄されます。
[in]join新しいグループが作成された後に参加するかどうかを決定します。
true = 作成された後にグループに参加します。この場合、サーバーは Join リクエストに応答しません。
false = グループの作成のみ行います。グループに参加したい場合は、別途 Join を実行する必要があります。
[in]ttlグループが空になった後の存在時間(秒単位)を指定します。allowEmpty が true に設定されている場合にのみ使用されます。

◆ SendJoinGroup() [1/2]

void DiarkisInterfaceBase::SendJoinGroup ( const char *  groupID,
const char *  message 
)

既存のグループに参加します。

GetJoinEvent() に登録されたコールバックイベント(例:OnGroupJoin)がトリガーされます。
対象グループのメンバーについて、GetMemberJoinEvent() に登録されたコールバックイベント(例:OnGroupMemberJoin)がトリガーされます。

引数
[in]groupID参加するグループのID
[in]message参加時にグループメンバーにメッセージを送信します。
たとえば、新たに参加したメンバーのユーザーIDを通知するために、ユーザーIDを含めることができます。
被呼び出し関係図:

◆ SendJoinGroup() [2/2]

void DiarkisInterfaceBase::SendJoinGroup ( const std::string &  groupID,
const std::string &  message 
)

SendJoinGroup()と同じです

呼び出し関係図:

◆ SendRandomJoinGroup() [1/2]

void DiarkisInterfaceBase::SendRandomJoinGroup ( uint16_t  ttl,
const char *  message,
uint32_t  interval = 200 
)

参加できるグループがあれば、そのグループに参加し、そうでない場合は新しいグループを作成します。

既存のグループに参加すると、GetJoinEvent()に登録されたコールバックイベント(例:OnGroupJoin)がトリガーされます。
新しいグループが作成されると、GetCreateEvent()に登録されたコールバックイベント(例:OnGroupCreation)がトリガーされます。

引数
[in]ttlグループが空になってからの経過時間(秒単位)、allowEmptyがtrueに設定されている場合にのみ使用されます。
[in]messageグループメンバーが参加するときにオプションのメッセージを送信します。
[in]intervalサーバーがBroadcastToを処理する間隔(ミリ秒単位)を指定します。デフォルト値は200msです。
intervalで指定された時間のメッセージはサーバーによって編集され送信されます。
被呼び出し関係図:

◆ SendRandomJoinGroup() [2/2]

void DiarkisInterfaceBase::SendRandomJoinGroup ( uint16_t  ttl,
const std::string &  message,
uint32_t  interval = 200 
)

SendRandomJoinGroup()と同じです

呼び出し関係図:

◆ SendLeaveGroup() [1/2]

void DiarkisInterfaceBase::SendLeaveGroup ( const char *  groupID,
const char *  message 
)

指定されたグループから退出します。

GetMemberLeaveEvent() で登録されたコールバックイベント(例: OnGroupMemberLeave )がトリガーされます。

引数
[in]groupID退出するグループのID
[in]message退出時にグループメンバーにメッセージを送信します。
被呼び出し関係図:

◆ SendLeaveGroup() [2/2]

void DiarkisInterfaceBase::SendLeaveGroup ( const std::string &  groupID,
const std::string &  message 
)

SendLeaveGroup()と同じです

呼び出し関係図:

◆ GetGroupID()

Diarkis::StdString DiarkisInterfaceBase::GetGroupID ( )

参加しているGroupのIDを取得する。

◆ ClearUdpBuffer()

void DiarkisInterfaceBase::ClearUdpBuffer ( )

Socketの送受信バッファをクリアする

◆ RequestEndpointAsync() [1/2]

bool DiarkisInterfaceBase::RequestEndpointAsync ( const char *  host,
const char *  clientKey,
const char *  type,
DiarkisThreadPolicy  policy,
int  priority,
uint32_t  affinityMask,
uint32_t  stackSize 
)

HTTPサーバーに接続し、非同期処理を行ってTCP/UDPエンドポイントを取得します。

非同期処理の実行状況はGetEndpointAsyncStatus()で取得できます。
取得結果はGetAsyncEndpointResult()で取得できます。

引数
[in]hostHTTPサーバーのアドレス
[in]clientKeyHTTPサーバーのクライアントキー
[in]type取得するサーバーの種類
[in]policyHTTPアクセスを行うスレッドのスケジューリングのためのポリシーの指定。
(Windowsでは指定しても影響はありません。)
[in]priorityHTTPアクセスを行うスレッドの優先度。
現在の(標準)設定からの+-で指定します。
ps5を使用する場合はDiarkisThreadPriorityを指定してください。
[in]affinityMaskCPUのアフィニティ設定。1ビット目 = cpu1、スレッドはビットが立つCPUコアから割り当てられます。
(PS5のみ)
[in]stackSize非同期スレッドのスタックサイズ
呼び出し関係図:
被呼び出し関係図:

◆ RequestEndpointAsync() [2/2]

bool DiarkisInterfaceBase::RequestEndpointAsync ( const std::string &  host,
const std::string &  clientKey,
const std::string &  type,
DiarkisThreadPolicy  policy,
int  priority,
uint32_t  affinityMask,
uint32_t  stackSize 
)

RequestEndpointAsyncと同じです

呼び出し関係図:

◆ GetEndpointAsyncStatus()

DiarkisInterfaceBase::AsyncGetEndpointStatus DiarkisInterfaceBase::GetEndpointAsyncStatus ( ) const

サーバーエンドポイントを非同期で取得するプロセスの進行状況を取得する

戻り値
進行状況

◆ GetAsyncEndpointResult()

bool DiarkisInterfaceBase::GetAsyncEndpointResult ( Diarkis::StdString endpoint) const

非同期でエンドポイントを取得する結果を取得する

引数
[out]endpoint指定されたサーバーアドレス
戻り値
非同期プロセスが正常に完了したかどうか

◆ InitAndStartup()

void DiarkisInterfaceBase::InitAndStartup ( bool  bInitBaseClass)
protected

ログと各モジュールのクラスを初期化する

呼び出し関係図:
被呼び出し関係図:

◆ CreateLogFolder()

void DiarkisInterfaceBase::CreateLogFolder ( )
staticprotected

ログ出力先のフォルダを作成する

呼び出し関係図:
被呼び出し関係図:

◆ RuntimeLoop()

Diarkis::System::Result DiarkisInterfaceBase::RuntimeLoop ( void *  owner)
staticprotected

Diarkisクライアントライブラリの更新を呼び出すためのループ関数

呼び出し関係図:
被呼び出し関係図:

◆ SchedulerAddNotifyEvent()

void DiarkisInterfaceBase::SchedulerAddNotifyEvent ( )
protected

TCP/UDP/P2Pのスケジューラにイベントが追加されたときに実行されるイベントです。

被呼び出し関係図:

◆ InitializeLoggerEnvironment()

void DiarkisInterfaceBase::InitializeLoggerEnvironment ( )
staticprotected

ログアウトタイプに応じてDiarkisのロガーを初期化します

呼び出し関係図:
被呼び出し関係図:

◆ IsLogOutputTypeFile()

bool DiarkisInterfaceBase::IsLogOutputTypeFile ( )
staticprotected

ログがファイルに出力されているかを返す。

被呼び出し関係図:

◆ TerminateGetEndpointAsyncThread()

void DiarkisInterfaceBase::TerminateGetEndpointAsyncThread ( )
protected

エンドポイント非同期プロセスの取得スレッドを終了する

被呼び出し関係図:

◆ GetEndpointAsync()

Diarkis::System::Result DiarkisInterfaceBase::GetEndpointAsync ( void *  owner)
staticprotected

RequestEndpointAsync() によって実行されるスレッド

被呼び出し関係図:

メンバ詳解

◆ runtimeThreadData_

DiarkisInterfaceBase::RuntimeThreadData DiarkisInterfaceBase::runtimeThreadData_
staticprotected

ランタイムスレッドのデータ

◆ activeInstances_

DiarkisInterfaceBase::ActiveInstanceList DiarkisInterfaceBase::activeInstances_
staticprotected

アクティブインスタンスのリストです。

◆ globalLoggerFactory_

std::shared_ptr< LoggerFactory > DiarkisInterfaceBase::globalLoggerFactory_ = nullptr
staticprotected

DiarkisInterfaceBaseのグローバルプロセスのロギングに使用されるLoggerFactory

◆ tcpBase_

std::shared_ptr<DiarkisTcpBase> DiarkisInterfaceBase::tcpBase_
protected

DiarkisTcpBaseクラスへのポインタ

◆ udpBase_

std::shared_ptr<DiarkisUdpBase> DiarkisInterfaceBase::udpBase_
protected

DiarkisUdpBase クラスへのポインタ

◆ p2pBase_

std::shared_ptr<DiarkisP2PBase> DiarkisInterfaceBase::p2pBase_
protected

DiarkisP2PBase クラスへのポインタ

◆ roomBase_

std::shared_ptr<DiarkisRoomBase> DiarkisInterfaceBase::roomBase_
protected

DiarkisRoomBaseクラスへのポインタ

◆ sessionBase_

std::shared_ptr<DiarkisSessionBase> DiarkisInterfaceBase::sessionBase_
protected

DiarkisSessionBaseクラスへのポインタ

◆ groupBase_

std::shared_ptr<DiarkisGroupBase> DiarkisInterfaceBase::groupBase_
protected

DiarkisGroupBaseクラスへのポインタ

◆ fieldBase_

std::shared_ptr<DiarkisFieldBase> DiarkisInterfaceBase::fieldBase_
protected

DiarkisFieldBaseクラスへのポインタ

◆ matchMakerBase_

std::shared_ptr<DiarkisMatchMakerBase> DiarkisInterfaceBase::matchMakerBase_
protected

DiarkisMatchMakerBaseクラスへのポインタ

◆ rpcBase_

std::shared_ptr<DiarkisRpcBase> DiarkisInterfaceBase::rpcBase_
protected

DiarkisRpcBase クラスへのポインタ

◆ dmBase_

std::shared_ptr<DiarkisDirectMessageBase> DiarkisInterfaceBase::dmBase_
protected

DiarkisDirectMessageBaseクラスへのポインター

◆ profile_

std::shared_ptr<Diarkis::Network::IDiarkisProfile> DiarkisInterfaceBase::profile_
protected

IDiarkisProfileクラスへのポインタ

◆ host_

Diarkis::StdString DiarkisInterfaceBase::host_
protected

接続するHTTPサーバーのアドレス

◆ clientKey_

Diarkis::StdString DiarkisInterfaceBase::clientKey_
protected

接続するHTTPサーバーのクライアントキー

◆ uid_

const Diarkis::StdString DiarkisInterfaceBase::uid_
protected

自分のユーザーID

◆ serverType_

Diarkis::StdString DiarkisInterfaceBase::serverType_
protected

サーバータイプ

◆ sid_

Diarkis::StdString DiarkisInterfaceBase::sid_
protected

セッションID

◆ authInfo_

AuthInfo DiarkisInterfaceBase::authInfo_
protected

認証情報

◆ logDir_

std::shared_ptr< Diarkis::StdString > DiarkisInterfaceBase::logDir_ = nullptr
staticprotected

ログ出力ディレクトリ名

◆ logger_

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

ロガークラスへのポインター

◆ loggerFactory_

std::shared_ptr<LoggerFactory> DiarkisInterfaceBase::loggerFactory_
protected

LoggerFactoryへのポインタ

◆ threadLoggerBackend_

std::shared_ptr< ThreadedLoggerBackend > DiarkisInterfaceBase::threadLoggerBackend_ = nullptr
staticprotected

集団出力用のスレッド化されたロガー

◆ consoleLoggerBackend_

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::consoleLoggerBackend_ = nullptr
staticprotected

コンソール出力用のロガー

◆ debugLoggerBackend_

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::debugLoggerBackend_ = nullptr
staticprotected

デバッグ出力のためのロガー

◆ fileLoggerBackend_

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::fileLoggerBackend_ = nullptr
staticprotected

ファイル出力用のロガー

◆ customLoggerBackend_

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::customLoggerBackend_ = nullptr
staticprotected

カスタムロガー

◆ aggregatedLoggerBackend_

std::shared_ptr< ILoggerBackend > DiarkisInterfaceBase::aggregatedLoggerBackend_ = nullptr
staticprotected

LoggerFactoryで使用されるロガーインターフェース

◆ logOutType_

LogOutType DiarkisInterfaceBase::logOutType_ = LogOutType::FILE_OUT
staticprotected

デバッグ出力のタイプ

◆ bOutputLog_

bool DiarkisInterfaceBase::bOutputLog_ = false
staticprotected

ログ出力するかどうか

◆ connectioninfoMutex_

std::mutex DiarkisInterfaceBase::connectioninfoMutex_
mutableprotected

GetEndpointメソッドで変更される変数用のミューテックス

◆ asyncGetEndpointMutex_

std::mutex DiarkisInterfaceBase::asyncGetEndpointMutex_
mutableprotected

非同期でエンドポイントを取得する全体のプロセスのためのミューテックス

◆ asyncGetEndpointArgs_

AsyncGetEndpointArgs DiarkisInterfaceBase::asyncGetEndpointArgs_
protected

エンドポイントプロセスを非同期で取得する際の引数

◆ asyncGetEndpointStatus_

AsyncGetEndpointStatus DiarkisInterfaceBase::asyncGetEndpointStatus_
protected

エンドポイントを非同期で取得するプロセスの進行状況

◆ asyncGetEndpointResult_

bool DiarkisInterfaceBase::asyncGetEndpointResult_
protected

エンドポイントを非同期で取得するプロセスの結果

◆ asyncEndpointResult_

Diarkis::StdString DiarkisInterfaceBase::asyncEndpointResult_
protected

エンドポイントを非同期で取得するプロセスの結果

◆ asyncAuthResult_

AuthInfo DiarkisInterfaceBase::asyncAuthResult_
protected

エンドポイントを非同期で取得するプロセスの結果

◆ getEndpointAsyncThread_

std::shared_ptr<Diarkis::System::DiarkisThread> DiarkisInterfaceBase::getEndpointAsyncThread_
protected

エンドポイントを非同期で取得するプロセスに使用されるスレッド

◆ internalSchedulerUpdated_

std::atomic<bool> DiarkisInterfaceBase::internalSchedulerUpdated_
protected

スケジューラが更新されている場合に有効になるフラグ


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