Diarkis C++Client Library API Document
DiarkisInterfaceBase Class Reference

Base class for interfaces that manipulate the Diarkis library. More...

#include <DiarkisInterfaceBase.h>

Collaboration diagram for DiarkisInterfaceBase:

Classes

struct  ActiveInstanceList
 
struct  AsyncGetEndpointArgs
 The arguments passing to the asynchronous getting the endpoint process. More...
 
struct  RuntimeThreadData
 

Public Types

enum  AsyncGetEndpointStatus { AsyncGetEndpointStatus::NotRunning, AsyncGetEndpointStatus::Running, AsyncGetEndpointStatus::Finish }
 Running status of the process of getting the endpoint asynchronously. More...
 

Public Member Functions

 DiarkisInterfaceBase (const char *userId, bool bInitBaseClass=true)
 Constructor of Diarkis interface class. More...
 
 DiarkisInterfaceBase (const std::string &userId, bool bInitBaseClass=true)
 Same as DiarkisInterfaceBase() More...
 
virtual ~DiarkisInterfaceBase ()
 Destructor of Diarkis interface class. More...
 
void UpdateComponents ()
 Update functions for UDP, TCP, and P2P. More...
 
bool ConnectTcp (void)
 Connect to TCP server. More...
 
virtual bool SetupTcp (void)
 Initialize DiarkisTcpBase class. More...
 
bool ConnectTcp (const char *tcpEndpoint)
 Connect to TCP server. The status of the connection can be checked with DiarkisTCPBase::IsConnected(). More...
 
bool ConnectTcp (const std::string &tcpEndpoint)
 Same as ConnectTcp() More...
 
bool ConnectUdp (void)
 Connect to UDP server. More...
 
bool GetEndpoint (const char *host, const char *clientKey, const char *serverType, char *endpoint, size_t endpointBuf)
 Obtain server connection information from the HTTP server. More...
 
bool GetEndpoint (const std::string &host, const std::string &clientKey, const std::string &type, Diarkis::StdString &endpoint)
 Same as GetEndpoint() More...
 
virtual bool SetupUdp (void)
 Initialize DiarkisUdpBase class. More...
 
bool ConnectUdp (const char *udpEndpoint, const char *type, struct AuthInfo *auth)
 Connect to UDP server. The status of the connection can be checked with DiarkisUDPBase::IsConnected(). More...
 
bool ConnectUdp (const char *udpEndpoint)
 Same as ConnectUdp(const char*, const char*, struct AuthInfo*) More...
 
bool ConnectUdp (const std::string &udpEndpoint)
 Same as ConnectUdp(const char*, const char*, struct AuthInfo*) More...
 
bool ConnectUdpAsync (const char *udpEndpoint)
 Connect to UDP server. The status of the connection can be checked with DiarkisUDPBase::IsConnected(). More...
 
bool ConnectUdpAsync (const std::string &udpEndpoint)
 Same as ConnectUdpAsync() More...
 
bool ConnectUdpDualModeAsync (const char *udpEndpoint)
 Attemps to connect to the server by async using socket dual mode (explicit support for IPv6) turned on. GetConnectedEvent will be invoked if connection is successfully made. When connected to the server with this method, P2P is disabled. More...
 
bool ConnectUdpDualModeAsync (const std::string &udpEndpoint)
 Same as ConnectUdpDualModeAsync() More...
 
void GetAuthInfo (struct AuthInfo *auth)
 Retrieves AuthInfo obtained with GetEndpoint(). More...
 
virtual void SetupP2P (void)
 P2P setup functions. More...
 
void CloseP2P (void)
 Disconnect all P2P connections. More...
 
virtual void SetupRoom (bool bRetry=false)
 Setup function for Room function. More...
 
virtual void SetupSession (bool bRetry=false)
 Setup function for Session features. More...
 
virtual void SetupRpc ()
 Setup function for RPC. More...
 
virtual void SetupField (void)
 Setup function for Field function. More...
 
virtual void SetupGroup (bool bRetry)
 Setup function for Group function. More...
 
virtual void SetupMatchMaker (void)
 Setup function for MatchMaker function. More...
 
virtual void SetupDirectMessage (void)
 DirectMessage setup functions. More...
 
virtual void SetupProfile (uint32_t interval, uint32_t buffer, bool p2pRandomStart=true)
 Setup Profile functionality. More...
 
void SetHost (const char *host)
 Set HTTP server address to connect to. More...
 
void SetHost (const std::string &host)
 Same as SetHost() More...
 
Diarkis::StdString GetHost () const
 Obtain the HTTP server address. More...
 
const Diarkis::StdStringGetClientKey () const
 Obtain the client key of the connection destination. More...
 
void SetClientKey (const char *clientKey)
 接続先のクライアントキーを設定する More...
 
void SetClientKey (const std::string &clientKey)
 Same as SetClientKey() More...
 
const Diarkis::StdStringGetUid () const
 Get user ID. More...
 
Diarkis::StdString GetSid () const
 Get the SID. More...
 
void SetSid (const char *sid)
 Set the SID. More...
 
void SetSid (const std::string &sid)
 Same as SetSid() More...
 
std::shared_ptr< LoggerFactoryGetLoggerFactory ()
 Get loggers. More...
 
std::shared_ptr< ILoggerBackendGetConsoleLoggerBackend ()
 Get console output log (currently unused) More...
 
std::shared_ptr< ILoggerBackendGetDebugLoggerBackend ()
 Get debug output log. More...
 
std::shared_ptr< DiarkisUdpBaseGetUdpBase ()
 Obtaining the DiarkisUdpBase class. More...
 
std::shared_ptr< DiarkisTcpBaseGetTcpBase ()
 Obtaining the DiarkisTcpBase class. More...
 
std::shared_ptr< DiarkisP2PBaseGetP2PBase ()
 Get DiarkisP2PBase class. More...
 
std::shared_ptr< DiarkisRoomBaseGetRoomBase ()
 Get DiarkisRoomBase class. More...
 
std::shared_ptr< DiarkisSessionBaseGetSessionBase ()
 Get DiarkisSessionBase class. More...
 
std::shared_ptr< DiarkisGroupBaseGetGroupBase ()
 Get DiarkisGroupBase class. More...
 
std::shared_ptr< DiarkisFieldBaseGetFieldBase ()
 Get DiarkisFieldBase class. More...
 
std::shared_ptr< DiarkisMatchMakerBaseGetMatchMakerBase ()
 Get DiarkisMatchMakerBase class. More...
 
std::shared_ptr< DiarkisRpcBaseGetRpcBase ()
 Get DiarkisRpcBase class. More...
 
std::shared_ptr< DiarkisDirectMessageBaseGetDirectMessageBase ()
 Get DiarkisDirectMessageBase class. More...
 
std::shared_ptr< Diarkis::Network::IDiarkisProfileGetProfile ()
 Get IDiarkisProfile class, which is an interface for profiling functions. More...
 
void Stop ()
 Stop Update Loop. More...
 
void Disconnect ()
 Disconnect TCP, UDP, and P2P connections. More...
 
void SendPing (void)
 Send ping to UDP server. More...
 
void SendEcho (void)
 Send echo to UDP server. More...
 
bool IsOffline (void)
 Whether the UDP or TCP server is preparing for shutdown. More...
 
void StartP2P (void)
 Call DiarkisRoomBase::SendStartP2PSync() More...
 
uint16_t GetP2PConnectedNum (void)
 Get the number of P2P connected clients. More...
 
void CreateRoom (uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
 Create a new room. More...
 
void RandomJoinRoom (uint16_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty)
 Join the room if available, otherwise create a new room. More...
 
void JoinRoom ()
 Join a room. More...
 
void JoinRoom (const char *roomID)
 Join a room. More...
 
void JoinRoom (const std::string &roomID)
 Same as JoinRoom(const char*) More...
 
void SendMessageToRoom (const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
 Sends a message to a specific member who has joined a room. More...
 
void SendMessageToRoom (const std::vector< std::string > &memberIDs, const std::vector< uint8_t > &payload, bool reliable)
 Same as SendMessageToRoom() More...
 
void SendLeaveRoom ()
 Leaving a room. More...
 
void FindByTypeRoom (uint32_t roomType, uint32_t limit)
 Searches for rooms of the same type. More...
 
void RegisterRoom (uint32_t roomType, const char *roomName, const char *roomMetadata)
 Register additional information about the room you are participating in. More...
 
void RegisterRoom (uint32_t roomType, const std::string &roomName, const std::string &roomMetadata)
 Same as RegisterRoom() More...
 
void SendMigrateRoom (void)
 Move the room to a different server. More...
 
void SendGetOwnerID (void)
 Get the room owner's user ID. More...
 
void SendGetMemberIDs (void)
 Get a list of user IDs of members participating in a room. More...
 
Diarkis::StdString GetRoomID ()
 Get the Room ID of the room you are participating in. More...
 
void SendCreateGroup (bool allowEmpty, bool join, uint16_t ttl)
 Creates a new group. More...
 
void SendJoinGroup (const char *groupID, const char *message)
 Join an existing group. More...
 
void SendJoinGroup (const std::string &groupID, const std::string &message)
 Same as SendJoingGroup() More...
 
void SendRandomJoinGroup (uint16_t ttl, const char *message, uint32_t interval=200)
 If there is a group you can join, join that group, otherwise create a new group. More...
 
void SendRandomJoinGroup (uint16_t ttl, const std::string &message, uint32_t interval=200)
 Same as SendRandomJoinGroup() More...
 
void SendLeaveGroup (const char *groupID, const char *message)
 Leave from the specified group. More...
 
void SendLeaveGroup (const std::string &groupID, const std::string &message)
 Same as SendLeaveGroup() More...
 
Diarkis::StdString GetGroupID ()
 Retrieve the Group ID of the participating group. More...
 
void ClearUdpBuffer ()
 Clear send and receive buffer of Socket. More...
 
bool RequestEndpointAsync (const char *host, const char *clientKey, const char *type, DiarkisThreadPolicy policy, int priority, uint32_t affinityMask, uint32_t stackSize)
 Connect to an HTTP server and perform asynchronous processing to obtain TCP/UDP endpoints. More...
 
bool RequestEndpointAsync (const std::string &host, const std::string &clientKey, const std::string &type, DiarkisThreadPolicy policy, int priority, uint32_t affinityMask, uint32_t stackSize)
 Same as RequestEndpointAsync() More...
 
AsyncGetEndpointStatus GetEndpointAsyncStatus () const
 Get the progress of the process of getting the server endpoint asynchronous. More...
 
bool GetAsyncEndpointResult (Diarkis::StdString &endpoint) const
 Get the result of getting the endpoint by asynchronous. More...
 

Static Public Member Functions

static bool DiarkisInit (const char *logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
 Diarkis initialization. More...
 
static bool DiarkisInit (const std::string &logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
 Same as DiarkisInit() More...
 
static bool DiarkisDestroy ()
 Diarkis termination process. More...
 

Protected Member Functions

void InitAndStartup (bool bInitBaseClass)
 Initialize logs and classes of each module. More...
 
void SchedulerAddNotifyEvent ()
 An event that is executed when an event has been added to the scheduler of TCP/UDP/P2P. More...
 
void TerminateGetEndpointAsyncThread ()
 Terminate thread for the getting the endpoint async process. More...
 

Static Protected Member Functions

static void CreateLogFolder ()
 Create folder for log output destination. More...
 
static Diarkis::System::Result RuntimeLoop (void *owner)
 Loop function to call Diarkis client library updates. More...
 
static void InitializeLoggerEnvironment ()
 Initialize loggers for the Diarkis depending on the logOutType. More...
 
static bool IsLogOutputTypeFile ()
 Returns whether the log output to a file. More...
 
static Diarkis::System::Result GetEndpointAsync (void *owner)
 Thread executed by RequestEndpointAsync() More...
 

Protected Attributes

std::shared_ptr< DiarkisTcpBasetcpBase_
 Pointer to DiarkisTcpBase class. More...
 
std::shared_ptr< DiarkisUdpBaseudpBase_
 Pointer to DiarkisUdpBase class. More...
 
std::shared_ptr< DiarkisP2PBasep2pBase_
 Pointer to DiarkisP2PBase class. More...
 
std::shared_ptr< DiarkisRoomBaseroomBase_
 Pointer to DiarkisRoomBase class. More...
 
std::shared_ptr< DiarkisSessionBasesessionBase_
 Pointer to DiarkisSessionBase class. More...
 
std::shared_ptr< DiarkisGroupBasegroupBase_
 Pointer to DiarkisGroupBase class. More...
 
std::shared_ptr< DiarkisFieldBasefieldBase_
 Pointer to DiarkisFieldBase class. More...
 
std::shared_ptr< DiarkisMatchMakerBasematchMakerBase_
 Pointer to DiarkisMatchMakerBase class. More...
 
std::shared_ptr< DiarkisRpcBaserpcBase_
 Pointer to DiarkisRpcBase class. More...
 
std::shared_ptr< DiarkisDirectMessageBasedmBase_
 Pointer to DiarkisDirectMessageBase class. More...
 
std::shared_ptr< Diarkis::Network::IDiarkisProfileprofile_
 Pointer to IDiarkisProfile class. More...
 
Diarkis::StdString host_
 Address of the HTTP server to connect to. More...
 
Diarkis::StdString clientKey_
 Client key of the HTTP server to connect to. More...
 
const Diarkis::StdString uid_
 My user ID. More...
 
Diarkis::StdString serverType_
 Server type. More...
 
Diarkis::StdString sid_
 Session ID. More...
 
AuthInfo authInfo_
 Authentication information. More...
 
std::shared_ptr< IDiarkisLoggerlogger_
 Pointer to logger class. More...
 
std::shared_ptr< LoggerFactoryloggerFactory_
 Pointer to LoggerFactory. More...
 
std::mutex connectioninfoMutex_
 The mutex for the variables that are modified in the GetEndpoint method. More...
 
std::mutex asyncGetEndpointMutex_
 The mutex for the whole process of getting the endpoint asynchronously. More...
 
AsyncGetEndpointArgs asyncGetEndpointArgs_
 The arguments passing to the asynchronous getting the endpoint process. More...
 
AsyncGetEndpointStatus asyncGetEndpointStatus_
 The progress of the process of getting the endpoint asynchronously. More...
 
bool asyncGetEndpointResult_
 The result of the process of getting the endpoint asynchronously. More...
 
Diarkis::StdString asyncEndpointResult_
 The result of the process of getting the endpoint asynchronously. More...
 
AuthInfo asyncAuthResult_
 The result of the process of getting the endpoint asynchronously. More...
 
std::shared_ptr< Diarkis::System::DiarkisThreadgetEndpointAsyncThread_
 The thread used by the process of getting the endpoint asynchronously. More...
 
std::atomic< bool > internalSchedulerUpdated_
 A flag enabled if the scheduler is updated. More...
 

Static Protected Attributes

static RuntimeThreadData runtimeThreadData_
 A data of the runtime thread. More...
 
static ActiveInstanceList activeInstances_
 A list of active instances. More...
 
static std::shared_ptr< LoggerFactoryglobalLoggerFactory_ = nullptr
 A LoggerFactory that will be used for logging of the global process of the DiarkisInterfaceBase. More...
 
static std::shared_ptr< Diarkis::StdStringlogDir_ = nullptr
 Log output directory name. More...
 
static std::shared_ptr< ThreadedLoggerBackendthreadLoggerBackend_ = nullptr
 Threaded loggers for collective output. More...
 
static std::shared_ptr< ILoggerBackendconsoleLoggerBackend_ = nullptr
 Logger for console output. More...
 
static std::shared_ptr< ILoggerBackenddebugLoggerBackend_ = nullptr
 Logger for debug output. More...
 
static std::shared_ptr< ILoggerBackendfileLoggerBackend_ = nullptr
 Logger for file output. More...
 
static std::shared_ptr< ILoggerBackendcustomLoggerBackend_ = nullptr
 Custom logger. More...
 
static std::shared_ptr< ILoggerBackendaggregatedLoggerBackend_ = nullptr
 A logger interface that is used in the LoggerFactory. More...
 
static LogOutType logOutType_ = LogOutType::FILE_OUT
 Type of debug output. More...
 
static bool bOutputLog_ = false
 Whether to log output or not. More...
 

Detailed Description

Base class for interfaces that manipulate the Diarkis library.

Member Enumeration Documentation

◆ AsyncGetEndpointStatus

Running status of the process of getting the endpoint asynchronously.

Enumerator
NotRunning 
Running 
Finish 

Constructor & Destructor Documentation

◆ DiarkisInterfaceBase() [1/2]

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

Constructor of Diarkis interface class.

Parameters
[in]userIdUnique user ID.
[in]bInitBaseClassInitialize various Base classes.
Here is the call graph for this function:

◆ DiarkisInterfaceBase() [2/2]

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

◆ ~DiarkisInterfaceBase()

DiarkisInterfaceBase::~DiarkisInterfaceBase ( )
virtual

Destructor of Diarkis interface class.

Here is the call graph for this function:

Member Function Documentation

◆ DiarkisInit() [1/2]

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

Diarkis initialization.

Parameters
[in]logDirNamelog output directory name
[in]outSpecify the log output destination (FILE_OUT, DEBUG_OUT).
[in]bLogWhether or not output log
[in]customLoggerCustom Logger Designation. Used to output Diarkis internal logs to app-side logs.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DiarkisInit() [2/2]

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

Same as DiarkisInit()

Here is the call graph for this function:

◆ DiarkisDestroy()

bool DiarkisInterfaceBase::DiarkisDestroy ( )
static

Diarkis termination process.

Here is the call graph for this function:

◆ UpdateComponents()

void DiarkisInterfaceBase::UpdateComponents ( )

Update functions for UDP, TCP, and P2P.

◆ ConnectTcp() [1/3]

bool DiarkisInterfaceBase::ConnectTcp ( void  )

Connect to TCP server.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetupTcp()

bool DiarkisInterfaceBase::SetupTcp ( void  )
virtual

Initialize DiarkisTcpBase class.

Here is the call graph for this function:

◆ ConnectTcp() [2/3]

bool DiarkisInterfaceBase::ConnectTcp ( const char *  tcpEndpoint)

Connect to TCP server. The status of the connection can be checked with DiarkisTCPBase::IsConnected().

Parameters
[in]tcpEndpointAddress of TCP server
Here is the call graph for this function:

◆ ConnectTcp() [3/3]

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

Same as ConnectTcp()

Here is the call graph for this function:

◆ ConnectUdp() [1/4]

bool DiarkisInterfaceBase::ConnectUdp ( void  )

Connect to UDP server.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetEndpoint() [1/2]

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

Obtain server connection information from the HTTP server.

Parameters
[in]hostHTTP server address
[in]clientKeyClient key for HTTP server
[in]serverTypeServer type
[in]endpointObtained server address
[in]endpointBufLength of the endpoint
Returns
bool true=Successed to get the server information from the HTTP server
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetEndpoint() [2/2]

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

Same as GetEndpoint()

Here is the call graph for this function:

◆ SetupUdp()

bool DiarkisInterfaceBase::SetupUdp ( void  )
virtual

Initialize DiarkisUdpBase class.

Here is the call graph for this function:

◆ ConnectUdp() [2/4]

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

Connect to UDP server. The status of the connection can be checked with DiarkisUDPBase::IsConnected().

Parameters
[in]udpEndpointAddress of UDP server
[in]typeServer type
[in]authAuthentication information
Here is the call graph for this function:

◆ ConnectUdp() [3/4]

bool DiarkisInterfaceBase::ConnectUdp ( const char *  udpEndpoint)

Same as ConnectUdp(const char*, const char*, struct AuthInfo*)

Here is the call graph for this function:

◆ ConnectUdp() [4/4]

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

Same as ConnectUdp(const char*, const char*, struct AuthInfo*)

Here is the call graph for this function:

◆ ConnectUdpAsync() [1/2]

bool DiarkisInterfaceBase::ConnectUdpAsync ( const char *  udpEndpoint)

Connect to UDP server. The status of the connection can be checked with DiarkisUDPBase::IsConnected().

This method will return immediately after launching the asynchronous connecting process. You can observe the progress of the asynchronous process by using DiarkisUdpbase::IsAsyncConnectRunning(). You can get the result of the asynchronous process by using DiarkisUdpbase::GetAsyncConnectResult(). Whether the connection is successful or not is checked by DiarkisUdpBase::IsConnected().

Parameters
[in]udpEndpointAddress of UDP server
Returns
bool true: The state that the connection process with the UDP server can be called.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConnectUdpAsync() [2/2]

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

Same as ConnectUdpAsync()

Here is the call graph for this function:

◆ ConnectUdpDualModeAsync() [1/2]

bool DiarkisInterfaceBase::ConnectUdpDualModeAsync ( const char *  udpEndpoint)

Attemps to connect to the server by async using socket dual mode (explicit support for IPv6) turned on. GetConnectedEvent will be invoked if connection is successfully made. When connected to the server with this method, P2P is disabled.

Parameters
[in]udpEndpointThe remote endpoint address/hostname
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConnectUdpDualModeAsync() [2/2]

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

Same as ConnectUdpDualModeAsync()

Here is the call graph for this function:

◆ GetAuthInfo()

void DiarkisInterfaceBase::GetAuthInfo ( struct AuthInfo auth)

Retrieves AuthInfo obtained with GetEndpoint().

Parameters
[in]authPointer to AuthInfo to store

◆ SetupP2P()

void DiarkisInterfaceBase::SetupP2P ( void  )
virtual

P2P setup functions.

P2P connection is only available when using UDP protocol.

Here is the call graph for this function:

◆ CloseP2P()

void DiarkisInterfaceBase::CloseP2P ( void  )

Disconnect all P2P connections.

◆ SetupRoom()

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

Setup function for Room function.

Before calling this function, it is necessary to call SetupUdp or SetupTcp depending on the protocol to be used.

Parameters
[in]bRetryCall with true when reconnecting after failing to join the room.
The first time this function is called, it must be called with false.

◆ SetupSession()

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

Setup function for Session features.

Before calling this function, it is necessary to call SetupUdp or SetupTcp depending on the protocol to be used.

Parameters
[in]bRetryCall with true when reconnecting after failing to join the session.
The first time this function is called, it must be called with false.

◆ SetupRpc()

void DiarkisInterfaceBase::SetupRpc ( )
virtual

Setup function for RPC.

Here is the call graph for this function:

◆ SetupField()

void DiarkisInterfaceBase::SetupField ( void  )
virtual

Setup function for Field function.

Before calling this function, it is necessary to call SetupUdp or SetupTcp depending on the protocol to be used.

◆ SetupGroup()

void DiarkisInterfaceBase::SetupGroup ( bool  bRetry)
virtual

Setup function for Group function.

Before calling this function, SetupUdp or SetupTcp must be called depending on the protocol to be used.

Parameters
[in]bRetryCall with true when reconnecting after failing to join a group.
The first time this function is called, it must be called with false.

◆ SetupMatchMaker()

void DiarkisInterfaceBase::SetupMatchMaker ( void  )
virtual

Setup function for MatchMaker function.

Before calling this function, SetupUdp or SetupTcp must be called depending on the protocol to be used.

◆ SetupDirectMessage()

void DiarkisInterfaceBase::SetupDirectMessage ( void  )
virtual

DirectMessage setup functions.

Before calling this function, SetupUdp or SetupTcp must be called depending on the protocol to be used.

◆ SetupProfile()

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

Setup Profile functionality.

Exchange profiling data between clients connected with P2P or Room

Parameters
[in]intervalInterval to send profile packets in ms (Default 5000 ms, Min 300 ms)
[in]bufferThe number of stored profiling data (Default is 16, which means store the latest 16 data. Min 8, Max 256)
[in]p2pRandomStartWhether or not to stagger the initial sending timing by a random amount of time to avoid
sending profile packets to each connected user on P2P at the same time.
Here is the call graph for this function:

◆ SetHost() [1/2]

void DiarkisInterfaceBase::SetHost ( const char *  host)

Set HTTP server address to connect to.

Here is the caller graph for this function:

◆ SetHost() [2/2]

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

Same as SetHost()

Here is the call graph for this function:

◆ GetHost()

Diarkis::StdString DiarkisInterfaceBase::GetHost ( ) const

Obtain the HTTP server address.

Here is the caller graph for this function:

◆ GetClientKey()

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

Obtain the client key of the connection destination.

Here is the caller graph for this function:

◆ SetClientKey() [1/2]

void DiarkisInterfaceBase::SetClientKey ( const char *  clientKey)

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

~@japanese

Set the client key of the connection destination

Here is the caller graph for this function:

◆ SetClientKey() [2/2]

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

Same as SetClientKey()

Here is the call graph for this function:

◆ GetUid()

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

Get user ID.

Here is the caller graph for this function:

◆ GetSid()

Diarkis::StdString DiarkisInterfaceBase::GetSid ( ) const

Get the SID.

◆ SetSid() [1/2]

void DiarkisInterfaceBase::SetSid ( const char *  sid)

Set the SID.

Here is the caller graph for this function:

◆ SetSid() [2/2]

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

Same as SetSid()

Here is the call graph for this function:

◆ GetLoggerFactory()

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

Get loggers.

Here is the caller graph for this function:

◆ GetConsoleLoggerBackend()

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

Get console output log (currently unused)

◆ GetDebugLoggerBackend()

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

Get debug output log.

◆ GetUdpBase()

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

Obtaining the DiarkisUdpBase class.

◆ GetTcpBase()

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

Obtaining the DiarkisTcpBase class.

◆ GetP2PBase()

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

Get DiarkisP2PBase class.

◆ GetRoomBase()

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

Get DiarkisRoomBase class.

◆ GetSessionBase()

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

Get DiarkisSessionBase class.

◆ GetGroupBase()

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

Get DiarkisGroupBase class.

◆ GetFieldBase()

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

Get DiarkisFieldBase class.

◆ GetMatchMakerBase()

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

◆ GetRpcBase()

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

Get DiarkisRpcBase class.

◆ GetDirectMessageBase()

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

◆ GetProfile()

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

Get IDiarkisProfile class, which is an interface for profiling functions.

◆ Stop()

void DiarkisInterfaceBase::Stop ( )

Stop Update Loop.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Disconnect()

void DiarkisInterfaceBase::Disconnect ( )

Disconnect TCP, UDP, and P2P connections.

◆ SendPing()

void DiarkisInterfaceBase::SendPing ( void  )

Send ping to UDP server.

◆ SendEcho()

void DiarkisInterfaceBase::SendEcho ( void  )

Send echo to UDP server.

◆ IsOffline()

bool DiarkisInterfaceBase::IsOffline ( void  )

Whether the UDP or TCP server is preparing for shutdown.

◆ StartP2P()

void DiarkisInterfaceBase::StartP2P ( void  )

◆ GetP2PConnectedNum()

uint16_t DiarkisInterfaceBase::GetP2PConnectedNum ( void  )

Get the number of P2P connected clients.

◆ CreateRoom()

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

Create a new room.

A callback event (e.g. OnRoomCreation) registered with GetCreateEvent() will be triggered.

Parameters
[in]maxMembersMaximum number of clients that can join the room to be created.
[in]allowEmptyDetermines if the room will be held even if none of the clients have joined.
[in]joinDetermines if the room will be joined after it is created.
true = join the room after creating it. No Join response is sent from the server.
false = only creates the room. If you want to join the room, you must perform a separate Join.
[in]ttlSpecifies the duration of the room in seconds after it is empty. Used only when true is specified for allowEmpty.
[in]intervalSpecifies the interval in milliseconds at which the server processes Broadcast messages, etc.
If the value of interval is large, the server load will be reduced, but there will be a delay in receiving messages. If the value of
If the value of interval is small, the server load will increase, but the message will be sent immediately from the server.
The default value is 200 ms.

◆ RandomJoinRoom()

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

Join the room if available, otherwise create a new room.

When a new room is created, the callback event registered with GetCreateEvent() (e.g. OnRoomCreation) and
callback event registered with GetJoinEvent() (e.g. OnRoomJoin) will be triggered.
Only callback events registered with GetJoinEvent() will be triggered when joining an existing room.

Parameters
[in]maxMembersMaximum number of clients that can join the room to be created.
[in]ttlDuration in seconds after the room is empty, used only when allowEmpty is set to true.
[in]intervalSpecifies the interval in milliseconds at which the server processes messages.
Messages are sent together at the server for the interval time.
If the value of interval is large, the server load will be reduced, but there will be a delay in receiving messages.
If the value of interval is small, the server load will increase, but the message will be sent immediately from the server.
The default value is 200 ms.
[in]allowEmptyDetermines whether or not the client will keep the room even when no one is joining.
Here is the call graph for this function:

◆ JoinRoom() [1/3]

void DiarkisInterfaceBase::JoinRoom ( )

Join a room.

Callback event registered with GetJoinEvent() (e.g. OnRoomJoin) will be triggered.
Callback event registered with GetMemberJoinEvent() (e.g. OnRoomMemberJoin) will be triggered on the member of the room. The user ID specified by uid can be received from the callback event.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ JoinRoom() [2/3]

void DiarkisInterfaceBase::JoinRoom ( const char *  roomID)

Join a room.

Callback event registered with GetJoinEvent() (e.g. OnRoomJoin) will be triggered.
Callback event registered with GetMemberJoinEvent() (e.g. OnRoomMemberJoin) will be triggered on the member of the room. The user ID specified by uid can be received from the callback event.

Parameters
[in]roomIDRoom ID to join
Here is the call graph for this function:

◆ JoinRoom() [3/3]

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

Same as JoinRoom(const char*)

Here is the call graph for this function:

◆ SendMessageToRoom() [1/2]

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

Sends a message to a specific member who has joined a room.

A callback event (e.g. OnRoomMemberMessage) registered with GetMemberMessageEvent() will be triggered.

Parameters
[in]memberIDsList of user IDs of members to send
[in]memberIDsCountNumber of memberID
[in]payloadMessage to be sent
[in]payloadSizeLength of the payload
[in]reliableDetermines if the message is sent via reliable communication (RUDP); ignored for TCP protocol.
Here is the caller graph for this function:

◆ SendMessageToRoom() [2/2]

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

Same as SendMessageToRoom()

Here is the call graph for this function:

◆ SendLeaveRoom()

void DiarkisInterfaceBase::SendLeaveRoom ( )

Leaving a room.

Callback event (e.g. OnRoomLeave) registered with GetLeaveEvent() will be triggered.
If the exit is successful, a callback event (e.g. OnRoomMemberLeave) registered with GetMemberLeaveEvent()
will be triggered on each member of the room.

Here is the call graph for this function:

◆ FindByTypeRoom()

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

Searches for rooms of the same type.

Callback events registered with GetFindByTypeEvnet() (e.g. OnRoomFindByType) will be triggered.
In the callback event, you can receive a list of rooms as a result of the search.

Parameters
[in]roomTypeType of room to search
[in]limitMaximum number of rooms in the list of search results

◆ RegisterRoom() [1/2]

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

Register additional information about the room you are participating in.

Affects searching for a type by FindRoomsByType.

Parameters
[in]roomTypeRoom type
[in]roomNameRoom name
[in]roomMetadataExtended string of room
Here is the caller graph for this function:

◆ RegisterRoom() [2/2]

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

Same as RegisterRoom()

Here is the call graph for this function:

◆ SendMigrateRoom()

void DiarkisInterfaceBase::SendMigrateRoom ( void  )

Move the room to a different server.

Only the room owner can call this function.
Upon successful execution, a notification is sent from the server to each member of the room
and the callback event registered with GetMigrateEvent() (e.g. OnRoomMigrate) is triggered.
The library internally leaves from the currently joined room and joins a new room to the server.

◆ SendGetOwnerID()

void DiarkisInterfaceBase::SendGetOwnerID ( void  )

Get the room owner's user ID.

The callback event (e.g. OnGetOwnerID) registered with GetOwnerIDEvent() will be triggered.

◆ SendGetMemberIDs()

void DiarkisInterfaceBase::SendGetMemberIDs ( void  )

Get a list of user IDs of members participating in a room.

Callback events (e.g. OnRoomMemberIDs) registered with GetMemberIDSEvent() will be triggered.

◆ GetRoomID()

Diarkis::StdString DiarkisInterfaceBase::GetRoomID ( )

Get the Room ID of the room you are participating in.

◆ SendCreateGroup()

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

Creates a new group.

Callback events registered with GetCreateEvent() (e.g. OnGroupCreation) will be triggered.

Parameters
[in]allowEmptyDetermines if the client will keep the group even when no one has joined.
true = Keep the group even when no clients are present.
false = If the client is gone the group will be destroyed after the time specified by ttl has elapsed.
[in]joinDetermines whether or not a new group is created and then joined.
true = Join the group after it is created. In this case, the server will not respond to the Join request.
false = Only creates the group. If you want to join the group, you need to execute Join separately.
[in]ttlSpecifies the duration, in seconds, of a group's existence after it becomes empty; used only if allowEmpty is set to true.

◆ SendJoinGroup() [1/2]

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

Join an existing group.

A callback event registered with GetJoinEvent() (e.g. OnGroupJoin) will be triggered.
A callback event registered with GetMemberJoinEvent() (e.g. OnGroupMemberJoin) will be triggered for the member of the target group.

Parameters
[in]groupIDID of the group to join
[in]messageSends an message to group members when join.
For example, you can include a user ID to notify the user ID of a newly joined member.
Here is the caller graph for this function:

◆ SendJoinGroup() [2/2]

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

Same as SendJoingGroup()

Here is the call graph for this function:

◆ SendRandomJoinGroup() [1/2]

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

If there is a group you can join, join that group, otherwise create a new group.

If you join an existing group, a callback event registered with GetJoinEvent() (e.g. OnGroupJoin) will be triggered.
When a new group is created, the callback event registered with GetCreateEvent() (e.g. OnGroupCreation ) will be triggered.

Parameters
[in]ttlDuration in seconds since the group became empty, used only when allowEmpty is set to true.
[in]messageSends an optional message to group members when they join.
[in]intervalSpecifies the interval in milliseconds between when the server processes BroadcastTo. The default value is 200ms.
The messages for the time specified by interval are compiled and sent by the server.
Here is the caller graph for this function:

◆ SendRandomJoinGroup() [2/2]

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

Same as SendRandomJoinGroup()

Here is the call graph for this function:

◆ SendLeaveGroup() [1/2]

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

Leave from the specified group.

Callback event registered with GetMemberLeaveEvent() (e.g. OnGroupMemberLeave) will be triggered.

Parameters
[in]groupIDID of the group to leave
[in]messageSends an message to group members when leaving.
Here is the caller graph for this function:

◆ SendLeaveGroup() [2/2]

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

Same as SendLeaveGroup()

Here is the call graph for this function:

◆ GetGroupID()

Diarkis::StdString DiarkisInterfaceBase::GetGroupID ( )

Retrieve the Group ID of the participating group.

◆ ClearUdpBuffer()

void DiarkisInterfaceBase::ClearUdpBuffer ( )

Clear send and receive buffer of 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 
)

Connect to an HTTP server and perform asynchronous processing to obtain TCP/UDP endpoints.

Execution status of asynchronous processing can be obtained with GetEndpointAsyncStatus().
The result of the acquisition can be obtained with GetAsyncEndpointResult().

Parameters
[in]hostHTTP server address
[in]clientKeyclient key of HTTP server
[in]typeType of server to be acquired
[in]policySpecification of the policy for scheduling threads that perform HTTP access.
(Windows is not affected even if specified.)
[in]priorityPriority of the thread that performs HTTP access.
Specify by +- increase or decrease from the current (standard) setting.
Specify DiarkisThreadPriority when ps5 is used.
[in]affinityMaskCPU affinity setting. 1st bit = cpu1, threads are allocated from the CPU core
with the smallest number where the bit stands. (PS5 only)
[in]stackSizeStack size of the asyncronous thread
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
)

Same as RequestEndpointAsync()

Here is the call graph for this function:

◆ GetEndpointAsyncStatus()

DiarkisInterfaceBase::AsyncGetEndpointStatus DiarkisInterfaceBase::GetEndpointAsyncStatus ( ) const

Get the progress of the process of getting the server endpoint asynchronous.

Returns
Progress

◆ GetAsyncEndpointResult()

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

Get the result of getting the endpoint by asynchronous.

Parameters
[out]endpointSpecified server address
Returns
Whether the asynchronous process finished successfully

◆ InitAndStartup()

void DiarkisInterfaceBase::InitAndStartup ( bool  bInitBaseClass)
protected

Initialize logs and classes of each module.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateLogFolder()

void DiarkisInterfaceBase::CreateLogFolder ( )
staticprotected

Create folder for log output destination.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RuntimeLoop()

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

Loop function to call Diarkis client library updates.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SchedulerAddNotifyEvent()

void DiarkisInterfaceBase::SchedulerAddNotifyEvent ( )
protected

An event that is executed when an event has been added to the scheduler of TCP/UDP/P2P.

Here is the caller graph for this function:

◆ InitializeLoggerEnvironment()

void DiarkisInterfaceBase::InitializeLoggerEnvironment ( )
staticprotected

Initialize loggers for the Diarkis depending on the logOutType.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsLogOutputTypeFile()

bool DiarkisInterfaceBase::IsLogOutputTypeFile ( )
staticprotected

Returns whether the log output to a file.

Here is the caller graph for this function:

◆ TerminateGetEndpointAsyncThread()

void DiarkisInterfaceBase::TerminateGetEndpointAsyncThread ( )
protected

Terminate thread for the getting the endpoint async process.

Here is the caller graph for this function:

◆ GetEndpointAsync()

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

Thread executed by RequestEndpointAsync()

Here is the caller graph for this function:

Member Data Documentation

◆ runtimeThreadData_

DiarkisInterfaceBase::RuntimeThreadData DiarkisInterfaceBase::runtimeThreadData_
staticprotected

A data of the runtime thread.

◆ activeInstances_

DiarkisInterfaceBase::ActiveInstanceList DiarkisInterfaceBase::activeInstances_
staticprotected

A list of active instances.

◆ globalLoggerFactory_

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

A LoggerFactory that will be used for logging of the global process of the DiarkisInterfaceBase.

◆ tcpBase_

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

Pointer to DiarkisTcpBase class.

◆ udpBase_

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

Pointer to DiarkisUdpBase class.

◆ p2pBase_

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

Pointer to DiarkisP2PBase class.

◆ roomBase_

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

Pointer to DiarkisRoomBase class.

◆ sessionBase_

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

Pointer to DiarkisSessionBase class.

◆ groupBase_

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

Pointer to DiarkisGroupBase class.

◆ fieldBase_

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

Pointer to DiarkisFieldBase class.

◆ matchMakerBase_

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

Pointer to DiarkisMatchMakerBase class.

◆ rpcBase_

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

Pointer to DiarkisRpcBase class.

◆ dmBase_

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

Pointer to DiarkisDirectMessageBase class.

◆ profile_

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

Pointer to IDiarkisProfile class.

◆ host_

Diarkis::StdString DiarkisInterfaceBase::host_
protected

Address of the HTTP server to connect to.

◆ clientKey_

Diarkis::StdString DiarkisInterfaceBase::clientKey_
protected

Client key of the HTTP server to connect to.

◆ uid_

const Diarkis::StdString DiarkisInterfaceBase::uid_
protected

My user ID.

◆ serverType_

Diarkis::StdString DiarkisInterfaceBase::serverType_
protected

Server type.

◆ sid_

Diarkis::StdString DiarkisInterfaceBase::sid_
protected

Session ID.

◆ authInfo_

AuthInfo DiarkisInterfaceBase::authInfo_
protected

Authentication information.

◆ logDir_

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

Log output directory name.

◆ logger_

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

Pointer to logger class.

◆ loggerFactory_

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

Pointer to LoggerFactory.

◆ threadLoggerBackend_

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

Threaded loggers for collective output.

◆ consoleLoggerBackend_

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

Logger for console output.

◆ debugLoggerBackend_

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

Logger for debug output.

◆ fileLoggerBackend_

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

Logger for file output.

◆ customLoggerBackend_

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

Custom logger.

◆ aggregatedLoggerBackend_

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

A logger interface that is used in the LoggerFactory.

◆ logOutType_

LogOutType DiarkisInterfaceBase::logOutType_ = LogOutType::FILE_OUT
staticprotected

Type of debug output.

◆ bOutputLog_

bool DiarkisInterfaceBase::bOutputLog_ = false
staticprotected

Whether to log output or not.

◆ connectioninfoMutex_

std::mutex DiarkisInterfaceBase::connectioninfoMutex_
mutableprotected

The mutex for the variables that are modified in the GetEndpoint method.

◆ asyncGetEndpointMutex_

std::mutex DiarkisInterfaceBase::asyncGetEndpointMutex_
mutableprotected

The mutex for the whole process of getting the endpoint asynchronously.

◆ asyncGetEndpointArgs_

AsyncGetEndpointArgs DiarkisInterfaceBase::asyncGetEndpointArgs_
protected

The arguments passing to the asynchronous getting the endpoint process.

◆ asyncGetEndpointStatus_

AsyncGetEndpointStatus DiarkisInterfaceBase::asyncGetEndpointStatus_
protected

The progress of the process of getting the endpoint asynchronously.

◆ asyncGetEndpointResult_

bool DiarkisInterfaceBase::asyncGetEndpointResult_
protected

The result of the process of getting the endpoint asynchronously.

◆ asyncEndpointResult_

Diarkis::StdString DiarkisInterfaceBase::asyncEndpointResult_
protected

The result of the process of getting the endpoint asynchronously.

◆ asyncAuthResult_

AuthInfo DiarkisInterfaceBase::asyncAuthResult_
protected

The result of the process of getting the endpoint asynchronously.

◆ getEndpointAsyncThread_

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

The thread used by the process of getting the endpoint asynchronously.

◆ internalSchedulerUpdated_

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

A flag enabled if the scheduler is updated.


The documentation for this class was generated from the following files: