 |
Diarkis C++Client Library API Document
|
Go to the documentation of this file.
39 * Represents a match maker
for creating game sessions.
40 * ~@japanese ゲームセッションを作成するためのマッチメーカーを表します。
uint32_t GetCreatedAt() const
Get the time when a user joins a room.
virtual void SendRelayTo(const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
Sends a message to a specific member participating in a Room.
Definition: DiarkisRoomBase.cpp:963
bool bTicketComplete_
Whether ticket matching has been completed.
Definition: DiarkisMatchMakerBase.h:1133
DiarkisFieldBase()
DiarkisFieldBase constructor.
Definition: DiarkisFieldBase.cpp:14
std::shared_ptr< IDiarkisSession > session_
Pointer to IDiarkisSession class.
Definition: DiarkisSessionBase.h:479
bool IsReliable() const
Whether or not the communication was RUDP.
virtual void OnTicketCancelResponse(const DiarkisMMResponseEventArgs &e)
Callback function triggered when a TicketCancel response is received.
Definition: DiarkisMatchMakerBase.cpp:563
std::shared_ptr< DiarkisP2PBase > p2pBase_
Pointer to DiarkisP2PBase class.
Definition: DiarkisMatchMakerBase.h:1037
virtual void OnSessionJoin(const DiarkisSessionNotificationEventArgs &e)
Callback event when an a member join the Session, event content is the user ID.
Definition: DiarkisSessionBase.cpp:202
virtual void OnOffline()
Callback event called when the server is ready to shutdown.
Definition: DiarkisRoomBase.cpp:784
Argument of the callback event called when the value of the Room property is increased or decreased.
Definition: eventArgs.h:767
const Diarkis::StdString & GetClientAddress() const
Get the client's global IP address.
const char * GetStatusString() const
Gets a string representation of the status of the result value.
const Diarkis::StdString & GetClientKey() const
Obtain the client key of the connection destination.
Definition: DiarkisInterfaceBase.cpp:240
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger class.
Definition: DiarkisMatchMakerBase.h:1045
const Diarkis::StdString & GetUnresolvedAddress() const
Get unresolved address of the peer.
uint16_t GetErrorCode() const
Get error code.
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
virtual void OnCommit(const DiarkisMMResponseEventArgs &e)
Callback function called when host prompts participation in team matchmaking.
Definition: DiarkisMatchMakerBase.cpp:418
std::shared_ptr< IDiarkisRPC > rpc_
Pointer to IDiarkisRPC class.
Definition: DiarkisRpcBase.h:144
Arguments of the callback event called when an UDP Ping is received.
Definition: eventArgs.h:1454
bool ConnectAsync(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
Connect to the server using the async thread.
Definition: DiarkisUdpBase.cpp:134
DIARKIS_EXPORT IDiarkisP2P * DiarkisCreateP2P(std::shared_ptr< IDiarkisUdp > udp)
Create IDiarkisP2P class.
std::shared_ptr< IDiarkisRoom > room_
Pointer to IDiarkisRoom class.
Definition: DiarkisRpcBase.h:152
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
bool IsSuccess() const
Get whether the command was successful or not.
uint16_t GetErrorCode() const
Get error code.
virtual void SendCommit(void)
Notifies all matched team members to participate in team matchmaking.
Definition: DiarkisMatchMakerBase.cpp:897
virtual bool SendStartBackfill(const char *roomID)
Adds the specified room to the matching search.
Definition: DiarkisMatchMakerBase.cpp:832
virtual void OnSync(const Diarkis::StdVector< uint8_t > &payload)
Callback event called when synchronizing the position of nearby clients in the field.
Definition: DiarkisFieldBase.cpp:110
virtual ~DiarkisRoomBase()
DiarkisRoomBase destructor.
Definition: DiarkisRoomBase.cpp:30
Arguments of callback events called when received the response of Diarkis::Modules::IDiarkisRoom::Upd...
Definition: eventArgs.h:1270
virtual void OnTicketLeave(const DiarkisMMResponseEventArgs &e)
Callback function triggered when a TicketLeave response is received.
Definition: DiarkisMatchMakerBase.cpp:638
Interface class for Session function.
Definition: session.h:25
bool IsSuccess() const
Get whether the command was successful or not.
@ TCP_JOIN
Connected by TCP.
Definition: protocol.h:90
AsyncGetEndpointStatus
Running status of the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:58
virtual void OnGroupLeave(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
Callback function called when leaving a group.
Definition: DiarkisGroupBase.cpp:174
std::shared_ptr< Diarkis::System::DiarkisThread > getEndpointAsyncThread_
The thread used by the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1570
std::shared_ptr< IDiarkisUdp > udp_
Pointer to the IDiarkisUdp class.
Definition: DiarkisP2PBase.h:439
bool IsSuccess() const
Get whether the command was successful or not.
#define DIARKIS_BACKEND_LOG(backend,...)
Definition: Logger.h:21
virtual void SetupP2P(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, const char *uid)
Set up DirectMessage with UDP protocol.
Definition: DiarkisP2PBase.cpp:85
DIARKIS_EXPORT IDiarkisRPC * DiarkisCreateRPC(std::shared_ptr< IDiarkisRoom > room_)
Create IDiarkisRPC class.
std::shared_ptr< IDiarkisUdp > udp_
Pointer to the IDiarkisUdp class.
Definition: DiarkisGroupBase.h:359
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
bool IsOffline()
Whether the UDP server is preparing for shutdown.
Definition: DiarkisUdpBase.cpp:290
DiarkisTcpBase()
DiarkisTcpBase constructor.
Definition: DiarkisTcpBase.cpp:18
bool IsSuccess() const
Get whether the command was successful or not.
std::shared_ptr< DiarkisTcpBase > tcpBase_
Pointer to DiarkisTcpBase class.
Definition: DiarkisInterfaceBase.h:1277
void ClearUdpBuffer()
Clear send and receive buffer of Socket.
Definition: DiarkisInterfaceBase.cpp:897
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to the IDiarkisTcp class.
Definition: DiarkisFieldBase.h:203
Diarkis::StdString message
Definition: eventArgs.h:130
Arguments of the callback event called when received Session response.
Definition: eventArgs.h:2131
@ DEBUG_AND_FILE_OUT
Definition: DiarkisInterfaceBase.h:39
AuthInfo authInfo_
Authentication information.
Definition: DiarkisInterfaceBase.h:1405
uint8_t GetVersion() const
Get the command version.
Arguments of the callback event called when received Session Notification.
Definition: eventArgs.h:1952
const char * SeverityToString(DiarkisLoggerSeverity severity)
Definition: helpers.cpp:19
std::shared_ptr< IDiarkisUdp > udp_
Pointer to IDiarkisUdp class.
Definition: DiarkisRoomBase.h:1004
bool SetRecvThreadParam(const DiarkisThreadScheduler &scheduler)
Specifies the priority of the UDP receive thread.
Definition: DiarkisUdpBase.cpp:242
virtual void SendCreate(uint8_t sessionType, uint8_t maxMembers, uint8_t ttl)
Create a new Session.
Definition: DiarkisSessionBase.cpp:317
std::shared_ptr< DiarkisP2PBase > p2pBase_
Pointer to DiarkisP2PBase class.
Definition: DiarkisInterfaceBase.h:1293
Arguments of the callback event to be called when TicketCancel push is received.
Definition: eventArgs.h:1666
virtual void OnRoomMemberLeave(const DiarkisPayloadEventArgs &e)
Callback function called when a Room member leaves the Room.
Definition: DiarkisRoomBase.cpp:452
const Diarkis::StdString & GetOwnerID() const
Get the room owner's user ID.
Result SendCheckNATType()
Sends a command to the server to check the client's NAT type. The callback event registered with IDia...
Definition: DiarkisUdpBase.cpp:254
virtual void OnJoin(const DiarkisSuccessEventArgs &e)
Callback event called when joined a field.
Definition: DiarkisFieldBase.cpp:89
ThreadFunc func
Pointer to function to be invoked by thread.
Definition: Thread.h:95
Arguments of the callback event called when joining or leaving a Field.
Definition: eventArgs.h:2175
void StartP2P(void)
Call DiarkisRoomBase::SendStartP2PSync()
Definition: DiarkisInterfaceBase.cpp:915
const StdVector< std::uint8_t > & GetPayload() const
Get the received payload.
Diarkis::StdUniquePtr< Diarkis::StdVector< DiarkisInterfaceBase * > > instances_
A list of the instances that are currently executing the update process.
Definition: DiarkisInterfaceBase.h:1244
std::recursive_mutex list_mutex_
list mutex
Definition: DiarkisMatchMakerBase.h:1093
bool GetAsyncEndpointResult(Diarkis::StdString &endpoint) const
Get the result of getting the endpoint by asynchronous.
Definition: DiarkisInterfaceBase.cpp:539
DiarkisGroupBase()
DiarkisGroupBase constructor.
Definition: DiarkisGroupBase.cpp:16
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.
Definition: DiarkisInterfaceBase.cpp:487
uint16_t GetPort() const
Get the port number of the peer.
virtual void SendGetProperties(const char **propertyNames, size_t propertyNamesCount)
Get Room properties.
Definition: DiarkisRoomBase.cpp:1088
virtual void SetupSession(bool bRetry=false)
Setup function for Session features.
Definition: DiarkisInterfaceBase.cpp:749
std::shared_ptr< DiarkisRoomBase > roomBase_
Pointer to DiarkisRoomBase class.
Definition: DiarkisInterfaceBase.h:1301
virtual void OnSessionInvite(const DiarkisSessionInviteEventArgs &e)
Callback event called when a user is invited to the Session, event content is the Session ID.
Definition: DiarkisSessionBase.cpp:195
bool ConnectUdp(void)
Connect to UDP server.
Definition: DiarkisInterfaceBase.cpp:598
DiarkisLoggerSeverity
Log severity level.
Definition: Logger.h:40
virtual ~DiarkisDirectMessageBase()
DiarkisDirectMessageBase destructor.
Definition: DiarkisDirectMessageBase.cpp:21
@ TCP_JOINING
Connecting by TCP.
Definition: protocol.h:76
virtual void OnGroupMemberBroadcast(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
Callback function called when a broadcast message is received.
Definition: DiarkisGroupBase.cpp:207
uint32_t GetErrorCode() const
Get error code.
const StdString & GetOwnerID() const
Get the session owner's user ID.
DIARKIS_EXPORT IDiarkisSession * DiarkisCreateSession()
Create IDiarkisSession class.
Diarkis::StdUnorderedMap< Diarkis::StdString, std::shared_ptr< Peer > > p2pList_
List of P2P connections. key:UID, value:pointer to IDiarkisP2P.
Definition: DiarkisP2PBase.h:423
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisRoomBase.cpp:14
std::shared_ptr< DiarkisRpcBase > rpcBase_
Pointer to DiarkisRpcBase class.
Definition: DiarkisInterfaceBase.h:1341
virtual void OnJoin(const DiarkisMMJoinResponseEventArgs &e)
Callback function triggered upon joining a matchmaking.
Definition: DiarkisMatchMakerBase.cpp:264
virtual uint16_t SendMulticast(const uint8_t *payload, size_t payloadSize, RudpType type, const char **uids, size_t uidsLen)
Sends a message to multiple peers.
Definition: DiarkisP2PBase.cpp:410
uint16_t GetErrorCode() const
Get error code.
std::shared_ptr< IDiarkisRoom > room_
Pointer to IDiarkisRoom class.
Definition: DiarkisRoomBase.h:1012
Diarkis::StdVector< Diarkis::StdString > teamMemberLists_
User ID list of team matched members.
Definition: DiarkisMatchMakerBase.h:1109
bool ConnectUdpAsync(const char *udpEndpoint)
Connect to UDP server. The status of the connection can be checked with DiarkisUDPBase::IsConnected()...
Definition: DiarkisInterfaceBase.cpp:662
bool IsLogFileSystemEnabledNX64()
@ MIGRATE
Room Move.
Definition: protocol.h:111
virtual void SendRegisterRoom(uint32_t roomType, const char *roomName, const char *roomMetadata)
Register additional information about the Room you are participating in.
Definition: DiarkisRoomBase.cpp:1027
virtual bool RPCOne(uint32_t rpcID, const char *userID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
Calls the RPC of a specific member participating in the room.
Definition: DiarkisRpcBase.cpp:81
Interface class for Group.
Definition: group.h:26
uint8_t iv[DIARKIS_AUTHKEY_LEN]
Definition: common.h:62
virtual void OnGroupMemberLeave(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
Callback function called when another member leaves the group.
Definition: DiarkisGroupBase.cpp:198
virtual void SendJoinGroup(const char *groupID, const uint8_t *message, size_t messageSize)
Join an existing group.
Definition: DiarkisGroupBase.cpp:234
void RegisterMessageEvent(std::function< void(void *, const DiarkisMessageEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:50
virtual void SetupUdpGroup(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
Set up Group with UDP protocol.
Definition: DiarkisGroupBase.cpp:76
bool bTicketCancel_
Whether matching by ticket was cancelled.
Definition: DiarkisMatchMakerBase.h:1149
Definition: results.autogen.h:10
void UpdateComponents()
Update functions for UDP, TCP, and P2P.
Definition: DiarkisInterfaceBase.cpp:1267
Peer(std::shared_ptr< IDiarkisP2P > p2p)
Definition: DiarkisP2PBase.cpp:15
virtual void OnDisbandMatchmaking(const DiarkisMMSyncEventArgs &e)
Callback function triggered when a match is disbanded.
Definition: DiarkisMatchMakerBase.cpp:205
virtual bool RPCMany(uint32_t rpcID, const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable=true)
Calls the RPC of any member participating in the room.
Definition: DiarkisRpcBase.cpp:71
Arguments of the callback event called when a payload is sent or received.
Definition: eventArgs.h:252
bool IsOffline(void)
Whether the UDP or TCP server is preparing for shutdown.
Definition: DiarkisInterfaceBase.cpp:880
void SendLeaveRoom()
Leaving a room.
Definition: DiarkisInterfaceBase.cpp:998
const StdVector< std::uint8_t > & GetPayload() const
Get the received payload.
@ UNRELIABLE_UNORDERED
No guarantee of packet delivery and order (UDP)
Definition: p2p.h:29
bool IsFail()
Whether or not you failed to join the group.
Definition: DiarkisGroupBase.cpp:122
void Disconnect()
Disconnects the P2P connection to all peers.
Definition: DiarkisP2PBase.cpp:300
uint32_t GetMaxNumber() const
Get maximum number of users allowed in a room.
static void InitializeLoggerEnvironment()
Initialize loggers for the Diarkis depending on the logOutType.
Definition: DiarkisInterfaceBase.cpp:1188
const Diarkis::StdString & GetUid() const
Get user ID.
Definition: DiarkisInterfaceBase.cpp:235
bool IsAsyncConnectRunning() const
Check whether the async connection process is running.
Definition: DiarkisUdpBase.cpp:272
virtual ~DiarkisRpcBase()
DiarkisRpcBase destructor.
Definition: DiarkisRpcBase.cpp:19
uint64_t UnregisterPeer(const Diarkis::StdString &uid)
Unregister an IDiarkisP2P instance.
Definition: DiarkisP2PBase.cpp:477
bool IsTicketComplete(void)
Whether the ticket was completed or not.
Definition: DiarkisMatchMakerBase.cpp:663
uint8_t key[DIARKIS_AUTHKEY_LEN]
Definition: common.h:61
void RandomJoinRoom(uint16_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty)
Join the room if available, otherwise create a new room.
Definition: DiarkisInterfaceBase.cpp:933
virtual void OnMemberJoin(const DiarkisMMSyncEventArgs &e)
Callback function triggered when another client successfully matches and enters.
Definition: DiarkisMatchMakerBase.cpp:235
Interface class for UDP function.
Definition: udp.h:64
uint16_t GetCommand() const
コマンドIDを取得する
bool IsSuccess() const
Get whether the command was successful or not.
std::function< void()> schedulerAddNotifyEventFunc_
Callback function called when P2P-related events are added.
Definition: DiarkisP2PBase.h:463
static std::shared_ptr< ILoggerBackend > aggregatedLoggerBackend_
A logger interface that is used in the LoggerFactory.
Definition: DiarkisInterfaceBase.h:1477
uint16_t GetErrorCode() const
Get error code.
@ ROOM_NOT_FIND
Room not found by FindByType.
Definition: protocol.h:62
DiarkisRoomBase()
DiarkisRoomBase constructor.
Definition: DiarkisRoomBase.cpp:18
void JoinRoom()
Join a room.
Definition: DiarkisInterfaceBase.cpp:942
virtual void OnGroupJoin(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
Callback function called when joining a group.
Definition: DiarkisGroupBase.cpp:154
void SetOwnUID(const char *uid)
Set your own user ID.
Definition: DiarkisRoomBase.cpp:280
const Diarkis::StdString & GetUID() const
Get user ID of the peer.
bool IsFail()
Whether or not you failed to join the Room.
Definition: DiarkisRoomBase.cpp:211
uint16_t GetErrorCode() const
Get error code.
uint8_t GetSessionType() const
Get the session type.
const Diarkis::StdString & GetResolvedAddress() const
Get resolved address of the peer.
Argument of the callback event called when synchronizing the value of a Room property.
Definition: eventArgs.h:827
virtual void SendIncrementProperty(Diarkis::StdString propertyName, int64_t delta, bool sync)
Increases or decreases the value of the specified Room property.
Definition: DiarkisRoomBase.cpp:1104
Arguments of callback events called when update objects by Diarkis::Modules::IDiarkisRoom::UpdateObje...
Definition: eventArgs.h:1228
virtual void SetupTcpGroup(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
Set up Group with TCP protocol.
Definition: DiarkisGroupBase.cpp:35
Arguments of the callback event called when joined a room.
Definition: eventArgs.h:594
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.
Definition: DiarkisInterfaceBase.cpp:1057
Arguments for callback events when exiting a Room or updating Room properties.
Definition: eventArgs.h:699
Diarkis::StdString myUid_
My user ID.
Definition: DiarkisP2PBase.h:479
virtual void OnHostMatchmaking(const DiarkisMMHostEventArgs &e)
Callback function triggered when matching is initiated as host.
Definition: DiarkisMatchMakerBase.cpp:176
bool IsSuccess() const
Get whether the command was successful or not.
Diarkis::StdUniquePtr< const char *[]> GetCharPtrArray(const Diarkis::StdVector< Diarkis::StdString > &vec)
Definition: string.cpp:366
ConnectState groupConnect_
Group connection status.
Definition: DiarkisGroupBase.h:415
AsyncGetEndpointStatus GetEndpointAsyncStatus() const
Get the progress of the process of getting the server endpoint asynchronous.
Definition: DiarkisInterfaceBase.cpp:533
AsyncGetEndpointStatus asyncGetEndpointStatus_
The progress of the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1538
bool IsSuccess() const
Get whether the command was successful or not.
virtual void SendLeaveMatchmaking(const uint8_t *message, size_t messageSize)
Exit from matchmaking in which you are a guest.
Definition: DiarkisMatchMakerBase.cpp:781
const StdVector< Diarkis::StdString > & GetMemberIDs() const
Get the matched members' user IDs.
Represents a chat message data with its sender user ID and timestamp in milliseconds.
Definition: eventArgs.h:126
Diarkis::StdString GetGroupID()
Retrieve the Group ID of the participating group.
Definition: DiarkisGroupBase.cpp:127
virtual void Setup(const std::shared_ptr< LoggerFactory > &loggerFactory)
Setup function.
Definition: DiarkisTcpBase.cpp:29
virtual void ConnectClient(const char *uid, const char **address, size_t addressCount, size_t timeoutInMilliseconds=5000, bool bBuffering=true)
Attempts to make a P2P connection to the specified user ID.
Definition: DiarkisP2PBase.cpp:101
virtual void OnRoomUpdateSyncProperties(const DiarkisRoomPropertiesEventArgs &e)
Callback function called when properties are updated with UpdateProperties.
Definition: DiarkisRoomBase.cpp:553
virtual void RSend(const char *uid, const uint8_t *message, size_t messageSize)
Sends a direct message to the specified user using reliable communications.
Definition: DiarkisDirectMessageBase.cpp:112
virtual bool SetupUdp(void)
Initialize DiarkisUdpBase class.
Definition: DiarkisInterfaceBase.cpp:568
@ UDP_JOIN
Connected by UDP.
Definition: protocol.h:83
virtual ~DiarkisTcpBase()
DiarkisTcpBase destructor.
Definition: DiarkisTcpBase.cpp:24
bool IsEncryptionEnabled() const
Diarkis::StdString roomID_
Room ID of the participating Room.
Definition: DiarkisRoomBase.h:1044
@ CONSOLE_OUT
Definition: DiarkisInterfaceBase.h:38
Argument of the callback event called when MatchMaker's Search or TeamSearch is executed.
Definition: eventArgs.h:1742
virtual void OnRoomRegister(const DiarkisRoomPayloadEventArgs &e)
Callback function called when additional information is registered for a participating Room.
Definition: DiarkisRoomBase.cpp:589
bool IsFind()
Whether the Room was found by FindRoomsByType.
Definition: DiarkisRoomBase.cpp:216
bool IsSuccess() const
Get whether the command was successful or not.
virtual void OnRoomReserve(const DiarkisRoomPayloadEventArgs &e)
Callback function called when a response to Reserve is received.
Definition: DiarkisRoomBase.cpp:640
virtual void OnTicketComplete(const DiarkisMMResponseEventArgs &e)
Callback function triggered when a ticket processed by IssueTicket is completed.
Definition: DiarkisMatchMakerBase.cpp:541
const Diarkis::StdString & GetGroupID() const
Get the group ID.
const char * GetVariableName() const
Gets the variable name as defined in the source code.
void GetGlobalAddress(Diarkis::StdString &address)
Get own external IP address.
Definition: DiarkisUdpBase.cpp:207
DiarkisThreadPriority
Represent thread priority.
Definition: Thread.h:27
const StdVector< std::shared_ptr< RoomChatData > > & GetChatLists() const
Get history of chat messages.
Diarkis::StdString ticketMessage_
Message when matching by ticket is completed.
Definition: DiarkisMatchMakerBase.h:1141
void Update(bool forceUpdate)
Run the update process for all instances.
Definition: DiarkisInterfaceBase.cpp:1317
void SetHost(const char *host)
Set HTTP server address to connect to.
Definition: DiarkisInterfaceBase.cpp:223
virtual void OnSessionInfo(const DiarkisSessionInfoEventArgs &e)
Callback event called when acquiring information of a participating Session.
Definition: DiarkisSessionBase.cpp:226
virtual bool SendKick(const char *userID)
Forces the specified user out of matchmaking.
Definition: DiarkisMatchMakerBase.cpp:846
virtual void SetupTcpSession(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
Set up Session with TCP protocol.
Definition: DiarkisSessionBase.cpp:65
@ FAIL_JOIN
Failed to join.
Definition: protocol.h:104
virtual void SendFindByTypeRoom(uint32_t roomType, uint32_t limit)
Searches for Rooms of the same type.
Definition: DiarkisRoomBase.cpp:1007
uint16_t GetPort() const
Get the port number of the peer.
Diarkis::StdString GetUserID() const
Get user ID.
Definition: DiarkisSessionBase.cpp:173
void SetOwnUID(const char *uid)
Set your user ID.
Definition: DiarkisMatchMakerBase.cpp:701
Diarkis::StdString host_
Address of the HTTP server to connect to.
Definition: DiarkisInterfaceBase.h:1365
virtual void SendKick(uint8_t sessionType, const char *userID)
Kick a Session member.
Definition: DiarkisSessionBase.cpp:111
Diarkis::StdString sid_
Session ID.
Definition: DiarkisInterfaceBase.h:1397
DiarkisConnectStatus
Connection status with a server.
Definition: eventArgs.h:139
const Diarkis::StdString & GetTicketMessage(void)
Retrieves messages received when matching by ticket is completed.
Definition: DiarkisMatchMakerBase.cpp:667
Arguments of the callback event called when received Session Info.
Definition: eventArgs.h:2022
void Disconnect()
Disconnect the UDP server.
Definition: DiarkisUdpBase.cpp:496
void SendJoinGroup(const char *groupID, const char *message)
Join an existing group.
Definition: DiarkisInterfaceBase.cpp:1045
bool SendMigrate(void)
Attempts to change the current connection to a differernt server.
Definition: DiarkisTcpBase.cpp:183
Diarkis::StdString serverType
Definition: DiarkisInterfaceBase.h:1505
virtual void OnGroupMemberJoin(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
Callback function called when another member joins the group.
Definition: DiarkisGroupBase.cpp:189
uint16_t GetCommand() const
Get the command id.
DiarkisUdpDisconnectionReason
Reason for disconnection from UDP server.
Definition: udp.h:35
virtual void OnMemberSync(const DiarkisMMSyncEventArgs &e)
Callback function triggered when a message is sent from a matched member.
Definition: DiarkisMatchMakerBase.cpp:257
std::shared_ptr< IDiarkisGroup > group_
Pointer to the IDiarkisGroup class.
Definition: DiarkisGroupBase.h:367
@ NOT_CONNECTED
Before connection.
Definition: protocol.h:48
virtual void SendGetMemberIDs(void)
Get a list of user IDs of members participating in a Room.
Definition: DiarkisRoomBase.cpp:871
Arguments of the callback event called when received Session Invite.
Definition: eventArgs.h:1980
virtual void OnRoomGetProperties(const DiarkisRoomPropertiesEventArgs &e)
Callback function called when properties are retrieved with GetProperties.
Definition: DiarkisRoomBase.cpp:539
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger.
Definition: DiarkisRpcBase.h:160
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
Callback function triggered when a push is received from the server.
Definition: DiarkisMatchMakerBase.cpp:595
virtual bool SendHostTeamMatchmaking(const char *uid, uint16_t maxMembers, uint16_t ttl, const char *profileID, const char *tag, const MatchMakerCondition *conditions, size_t conditionsCount, const uint8_t *metadata, size_t metadataSize, bool bReserveOnly)
Starts team matchmaking as host.
Definition: DiarkisMatchMakerBase.cpp:861
virtual void SetupRoom(bool bRetry=false)
Setup function for Room function.
Definition: DiarkisInterfaceBase.cpp:722
uint16_t GetCurrentMembers() const
Get the number of members joining the session.
uint8_t GetSessionType() const
Get the session type.
ConnectState roomConnect_
Room state.
Definition: DiarkisRoomBase.h:1052
bool ConnectDualModeAsync(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
Attemps to connect to the server by async using socket dual mode (explicit support for IPv6) turned o...
Definition: DiarkisUdpBase.cpp:169
virtual void SendCreateRoom(uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
Create a new Room.
Definition: DiarkisRoomBase.cpp:790
void Stop()
Stop the runtime thread.
Definition: DiarkisInterfaceBase.cpp:102
virtual void SetupTcp(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
Set up DirectMessage with the TCP protocol.
Definition: DiarkisDirectMessageBase.cpp:26
std::unordered_map< Key, Value, StdStringHash< Key >, std::equal_to< Key >, Diarkis::DiarkisStdAllocator< std::pair< const Key, Value > >> StdUnorderedMap
Definition: common.h:535
void RemoveInstance(DiarkisInterfaceBase *ptr)
Remove the instance of DiarkisInterfaceBase to the list that will be updated in the RuntimeLoop.
Definition: DiarkisInterfaceBase.cpp:1302
static bool DiarkisInit(const char *logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
Diarkis initialization.
Definition: DiarkisInterfaceBase.cpp:121
void RegisterRoom(uint32_t roomType, const char *roomName, const char *roomMetadata)
Register additional information about the room you are participating in.
Definition: DiarkisInterfaceBase.cpp:989
std::shared_ptr< DiarkisFieldBase > fieldBase_
Pointer to DiarkisFieldBase class.
Definition: DiarkisInterfaceBase.h:1325
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
@ Debug
Displays debug, info, warning, error, and fatal level.
const Diarkis::StdString & GetOwnerID() const
Get the room owner's user ID.
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
Sets the process to be called when a P2P-related event is added to the scheduler.
Definition: DiarkisP2PBase.cpp:355
virtual void SendFieldDisappear()
Notifies that this client is no longer visible to other clients.
Definition: DiarkisFieldBase.cpp:177
virtual void SendIssueTicket(uint8_t ticketType)
Requests the server to issue a ticket to initiate matchmaking.
Definition: DiarkisMatchMakerBase.cpp:905
static Diarkis::System::Result GetEndpointAsync(void *owner)
Thread executed by RequestEndpointAsync()
Definition: DiarkisInterfaceBase.cpp:549
Interface class for Room function.
Definition: room.h:25
virtual void SendGetChatLog(void)
Retrieve past chat messages.
Definition: DiarkisRoomBase.cpp:1184
bool GetAsyncConnectResult(System::Result &result) const
Get the result of the async connect process.
Definition: DiarkisUdpBase.cpp:280
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger class.
Definition: DiarkisRoomBase.h:1028
DIARKIS_EXPORT IDiarkisGroup * DiarkisCreateGroup()
Create IDiarkisDirectMessage class.
@ ROOM_FIND
Room found by FindByType.
Definition: protocol.h:55
std::shared_ptr< DiarkisUdpBase > GetUdpBase()
Obtaining the DiarkisUdpBase class.
Definition: DiarkisInterfaceBase.cpp:1124
void RegisterPeer(const Diarkis::StdString &uid, const std::shared_ptr< Peer > &p2p)
Register an IDiarkisP2P instance.
Definition: DiarkisP2PBase.cpp:471
const StdVector< Diarkis::StdString > & GetMemberIDs() const
Get the list of room members' user ID.
virtual void Send(const char *uid, const uint8_t *message, size_t messageSize)
Sends a direct message to the specified user.
Definition: DiarkisDirectMessageBase.cpp:94
static std::shared_ptr< Diarkis::StdString > logDir_
Log output directory name.
Definition: DiarkisInterfaceBase.h:1413
virtual void OnRoomJoin(const DiarkisRoomJoinEventArgs &e)
Callback function called when joined a Room.
Definition: DiarkisRoomBase.cpp:334
bool CreateDirectoryNX64(Diarkis::StdString dir)
std::shared_ptr< IDiarkisLogger > logger_
Pointer to the IDiarkisLogger class.
Definition: DiarkisFieldBase.h:227
uint16_t GetErrorCode() const
Get error code.
virtual void OnCompleteCommit(const DiarkisMMJoinResponseEventArgs &e)
Callback function called on team members when Commit is executed.
Definition: DiarkisMatchMakerBase.cpp:425
std::shared_ptr< IDiarkisRoom > GetRoom()
Get the pointer to IDiarkisRoom class.
Definition: DiarkisRoomBase.cpp:201
bool IsSuccess() const
Get whether the command was successful or not.
virtual void SendBroadcastToRoom(const uint8_t *payload, size_t payloadSize, bool reliable)
Sends a message to all Room members including yourself.
Definition: DiarkisRoomBase.cpp:900
const Diarkis::StdString & GetUnresolvedAddress() const
Get unresolved address of the peer.
virtual void SetupUdpSession(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
Set up Session with UDP protocol.
Definition: DiarkisSessionBase.cpp:29
virtual void SendCreateGroup(bool allowEmpty, bool join, uint16_t ttl)
Creates a new group.
Definition: DiarkisGroupBase.cpp:216
virtual void OnP2PAddress(const DiarkisP2PEventArgs &e)
Callback function triggered when starting P2P.
Definition: DiarkisMatchMakerBase.cpp:335
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
Definition: DiarkisInterfaceBase.h:1202
ConnectState fieldConnect_
Field status.
Definition: DiarkisFieldBase.h:243
const StdVector< std::shared_ptr< MatchMakerResultItem > > & GetResultItem() const
Get matchmaking search results.
bool SendEcho(void)
Send echo to UDP server.
Definition: DiarkisUdpBase.cpp:311
DIARKIS_EXPORT System::Result NOTHING_DONE
The call did nothing due to specific conditions. (status: TEMPORARY, value: 0xBC001052)
std::shared_ptr< LoggerFactory > loggerFactory_
Pointer to LoggerFactory.
Definition: DiarkisInterfaceBase.h:1429
virtual void OnAbortMatchmaking(const DiarkisMMResponseEventArgs &e)
Callback function triggered upon leaving the matching target.
Definition: DiarkisMatchMakerBase.cpp:194
bool ConnectTcp(void)
Connect to TCP server.
Definition: DiarkisInterfaceBase.cpp:398
DiarkisTransportType
Protocol type.
Definition: transport.h:27
virtual void SendDisbandMatchmaking(const uint8_t *message, size_t messageSize)
Discard current matchmaking. Participating users will be dismissed.
Definition: DiarkisMatchMakerBase.cpp:745
uint32_t GetRoundTripMs() const
Get round-trip time (ms)
Arguments of the callback event called when MatchMaker response is received.
Definition: eventArgs.h:1598
virtual void OnRoomCancelReserve(const DiarkisRoomPayloadEventArgs &e)
Callback function called when a response to CancelReservation is received.
Definition: DiarkisRoomBase.cpp:655
uint16_t GetErrorCode() const
Get error code.
void Update()
Update function that calls TCP processing in the client library. Must be called periodically.
Definition: DiarkisTcpBase.cpp:315
std::shared_ptr< LoggerFactory > loggerFactory_
Pointer to logger class.
Definition: DiarkisP2PBase.h:447
void Stop()
Stop Update Loop.
Definition: DiarkisInterfaceBase.cpp:1400
virtual void OnLeave(const DiarkisMMResponseEventArgs &e)
Callback function triggered when leaving a matchmaking.
Definition: DiarkisMatchMakerBase.cpp:273
virtual void SendReserveRoom(const char **userIDs, size_t userIDsCount)
Reserves a member to join a Room.
Definition: DiarkisRoomBase.cpp:1125
bool bOffline_
Whether the server is getting ready to shut down.
Definition: DiarkisTcpBase.h:260
virtual void OnKick(const DiarkisPayloadEventArgs &e)
Callback function triggered when a host kicks a particular member out of matching.
Definition: DiarkisMatchMakerBase.cpp:397
void GetPeerUids(Diarkis::StdVector< Diarkis::StdString > &output)
Get the user id of peers connected by P2P.
Definition: DiarkisP2PBase.cpp:172
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
const StdVector< RoomListItem > & GetRoomListItem() const
List of rooms in the search hits.
const Diarkis::StdString & GetHostID() const
Get host's user ID.
virtual void OnP2PFail(const DiarkisFailEventArgs &args)
Callback event called when a hole punch fails.
Definition: DiarkisP2PBase.cpp:267
AuthInfo asyncAuthResult_
The result of the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1562
DiarkisP2PBase()
DiarkisP2PBase constructor.
Definition: DiarkisP2PBase.cpp:68
std::shared_ptr< ILoggerBackend > GetConsoleLoggerBackend()
Get console output log (currently unused)
Definition: DiarkisInterfaceBase.cpp:1109
DiarkisUdpBase()
DiarkisUdpBase constructor.
Definition: DiarkisUdpBase.cpp:20
virtual void OnMemberLeave(const DiarkisMMSyncEventArgs &e)
Callback function triggered when a matched member leaves the room.
Definition: DiarkisMatchMakerBase.cpp:218
Arguments of the callback event called when retrieving the number of members in the Room.
Definition: eventArgs.h:971
virtual void SetupRpc(const char *uid, const std::shared_ptr< IDiarkisRoom > &room, const std::shared_ptr< LoggerFactory > &loggerFactory)
Set up RPC.
Definition: DiarkisRpcBase.cpp:30
virtual void Disconnect(const char *uid, const uint8_t *message, size_t messageSize)
Disconnects from the specified user via direct message and sends a custom message.
Definition: DiarkisDirectMessageBase.cpp:76
Diarkis::StdString SpanToString(const Diarkis::StdVector< uint8_t > &span, const Diarkis::StdString &format, const Diarkis::StdString &separator)
Definition: string.cpp:17
struct Credentials cred
Definition: common.h:67
uint16_t GetErrorCode() const
Get error code.
std::atomic< bool > isRunning_
Runtime loop exit flag.
Definition: DiarkisInterfaceBase.h:1159
virtual void OnIssueTicketResponse(const DiarkisMMResponseEventArgs &e)
Gets the event fired when a response to an IssueTicket is received from the server.
Definition: DiarkisMatchMakerBase.cpp:527
Diarkis::StdString clientKey
Definition: DiarkisInterfaceBase.h:1504
virtual void OnSessionJoinResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendJoin is sent.
Definition: DiarkisSessionBase.cpp:269
virtual void SendTicketBroadcast(uint8_t ticketType, const uint8_t *message, size_t messageSize)
Broadcast message to clients matched by ticket.
Definition: DiarkisMatchMakerBase.cpp:931
Diarkis::StdString ownGlobalAddress_
My global IP address.
Definition: DiarkisUdpBase.h:478
std::recursive_mutex p2pListMutex_
P2P list Mutex.
Definition: DiarkisP2PBase.h:431
uint64_t timeStamp
Definition: eventArgs.h:129
void SendMigrateRoom(void)
Move the room to a different server.
Definition: DiarkisInterfaceBase.cpp:1007
virtual void OnTeamMemberJoin(const DiarkisMMSyncEventArgs &e)
Callback function triggered when another client successfully matches and enters.
Definition: DiarkisMatchMakerBase.cpp:498
*Represents a match maker for creating game sessions *japanese ゲームセッションを作成するためのマッチメーカーを表します。 void GetSafeCategory(const std::shared_ptr< IDiarkisLogger > &logger, Diarkis::StdString &categ)
Definition: helpers.cpp:10
Diarkis::StdString GetRoomID(void)
Get the Room ID of the Room you are participating in.
Definition: DiarkisRoomBase.cpp:250
Diarkis::StdString groupID_
Group ID.
Definition: DiarkisGroupBase.h:391
virtual void SendFieldLeave()
Notify that you are leaving the field.
Definition: DiarkisFieldBase.cpp:187
void AddInstance(DiarkisInterfaceBase *ptr)
Add an instance of DiarkisInterfaceBase to the list that will be updated in the RuntimeLoop.
Definition: DiarkisInterfaceBase.cpp:1287
Diarkis::StdString GetLogDirectoryPath(const Diarkis::StdString &uid)
Definition: misc.cpp:439
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisTcpBase.cpp:14
virtual void OnPing(const DiarkisUdpPingEventArgs &args)
Callback function called when a ping is received from the server.
Definition: DiarkisUdpBase.cpp:396
void InitAndStartup(bool bInitBaseClass)
Initialize logs and classes of each module.
Definition: DiarkisInterfaceBase.cpp:182
std::shared_ptr< DiarkisRoomBase > GetRoomBase()
Get DiarkisRoomBase class.
Definition: DiarkisInterfaceBase.cpp:1134
Contains information about a specific result value. Can be compared against another Result structure....
Definition: result.h:37
const StdVector< uint8_t > & EncryptionIv() const
bool HasSession(uint8_t sessionType) const
Check if you are joining at least one Session.
Definition: DiarkisSessionBase.cpp:101
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
DiarkisThreadPriority priority
Definition: Thread.h:91
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
Callback function triggered when a response is received from the server.
Definition: DiarkisMatchMakerBase.cpp:575
std::shared_ptr< DiarkisP2PBase > GetP2PBase()
Get DiarkisP2PBase class.
Definition: DiarkisInterfaceBase.cpp:1129
const char * GetFullyQualifiedVariableName() const
Gets the fully qualified variable name (prefixed with namespace) as defined in the source code.
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
Sets the process to be called when TCP related events are added to a scheduler.
Definition: DiarkisTcpBase.cpp:323
virtual void SetupMatchMaker(void)
Setup function for MatchMaker function.
Definition: DiarkisInterfaceBase.cpp:1077
std::shared_ptr< DiarkisSessionBase > GetSessionBase()
Get DiarkisSessionBase class.
Definition: DiarkisInterfaceBase.cpp:1139
Diarkis::StdString GetGroupID()
Retrieve the Group ID of the participating group.
Definition: DiarkisInterfaceBase.cpp:1179
Interface class for MatchMaker function.
Definition: matchMaker.h:39
std::function< void()> schedulerAddNotifyEventFunc_
Callback function called when TCP related events are added.
Definition: DiarkisTcpBase.h:252
bool IsSuccess() const
Get whether the command was successful or not.
virtual void OnLeave(const DiarkisSuccessEventArgs &e)
Response callback event called when exiting the Field.
Definition: DiarkisFieldBase.cpp:122
void Disconnect()
Disconnect from the TCP server.
Definition: DiarkisTcpBase.cpp:303
void Update()
Update function that calls UDP processing in the client library. Must be called periodically.
Definition: DiarkisUdpBase.cpp:509
const Diarkis::StdString & GetResolvedAddress() const
Get resolved address of the peer.
virtual void SendJoinRoom(const char *uid)
Join a Room.
Definition: DiarkisRoomBase.cpp:809
bool IsConnected()
Whether or not you are connected to the TCP server.
Definition: DiarkisTcpBase.cpp:290
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
uint16_t GetPort() const
Get the port number of the peer.
bool IsSuccess() const
Get whether the command was successful or not.
void SetSid(const char *sid)
Set the SID.
Definition: DiarkisInterfaceBase.cpp:268
const Diarkis::StdString & GetRoomID() const
Get the room ID.
virtual void OnSessionKick(const DiarkisSessionNotificationEventArgs &e)
Callback event when kicked out of the Session.
Definition: DiarkisSessionBase.cpp:239
Parameters for thread startup.
Definition: Thread.h:85
virtual void OnSessionCreateResponse(const DiarkisSessionCreateResponseEventArgs &e)
Callback event called when the Session is created, event content is the Session ID.
Definition: DiarkisSessionBase.cpp:183
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
Definition: rpcModule.h:21
void Update()
Function to update the status of the connection and other information. Must be called periodically.
Definition: DiarkisP2PBase.cpp:337
Diarkis::StdString GetSid() const
Get the SID.
Definition: DiarkisInterfaceBase.cpp:257
virtual void SendBroadcastToGroup(const uint8_t *payload, size_t payloadSize, bool reliable)
Sends a broadcast to all users in all participating groups.
Definition: DiarkisGroupBase.cpp:314
void GetMatchingMemberList(Diarkis::StdVector< Diarkis::StdString > &memberList)
Obtain matched members.
Definition: DiarkisMatchMakerBase.cpp:684
void SendEcho(void)
Send echo to UDP server.
Definition: DiarkisInterfaceBase.cpp:872
Diarkis::StdString messageFromUid_
User ID of the sender of the most recent message received.
Definition: DiarkisGroupBase.h:407
uint16_t GetErrorCode() const
Get error code.
bool IsReliable() const
Whether or not the communication was RUDP.
virtual void SetupGroup(bool bRetry)
Setup function for Group function.
Definition: DiarkisInterfaceBase.cpp:805
@ RELIABLE_ORDERED
Guarantee packet delivery and order.
Definition: p2p.h:43
void SendCreateGroup(bool allowEmpty, bool join, uint16_t ttl)
Creates a new group.
Definition: DiarkisInterfaceBase.cpp:1033
DiarkisDirectMessageBase()
DiarkisDirectMessagecBase constructor.
Definition: DiarkisDirectMessageBase.cpp:17
void TerminateGetEndpointAsyncThread()
Terminate thread for the getting the endpoint async process.
Definition: DiarkisInterfaceBase.cpp:521
uint8_t sid[DIARKIS_AUTHKEY_LEN]
Definition: common.h:66
virtual void SendInvite(uint8_t sessionType, const char **uids, size_t uidsCount)
Invite a user to the Session your are currently in.
Definition: DiarkisSessionBase.cpp:336
std::shared_ptr< IDiarkisTcp > Get()
Get a pointer to IDiarkisTcp.
Definition: DiarkisTcpBase.cpp:165
Diarkis::StdString ByteArrayToHexadecimalString(const Diarkis::StdVector< uint8_t > &byteArray, Diarkis::StdString spacing)
Definition: string.cpp:329
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
std::shared_ptr< DiarkisMatchMakerBase > matchMakerBase_
Pointer to DiarkisMatchMakerBase class.
Definition: DiarkisInterfaceBase.h:1333
static ActiveInstanceList activeInstances_
A list of active instances.
Definition: DiarkisInterfaceBase.h:1253
const Diarkis::StdVector< uint8_t > & GetPayload() const
Get the received payload.
void RegisterSchedulerAddNotifyEvent(std::function< void(void *, void *)> lambda)
Definition: DiarkisP2PBase.cpp:62
virtual void OnTicketCancel(const DiarkisMMTicketTypeEventArgs &e)
Callback function triggered when a TicketCancel is received.
Definition: DiarkisMatchMakerBase.cpp:556
virtual void SendAbortMatchmaking(void)
You will be excluded from the matchmaking search. Matchmaking is not destroyed and participating memb...
Definition: DiarkisMatchMakerBase.cpp:732
const Diarkis::StdString & GetUID() const
Get user ID of the peer.
const Diarkis::StdString & GetObjectName() const
Get the updated object name.
virtual void OnConnect(const DiarkisConnectionEventArgs &args)
Callback function called when connecting to the server.
Definition: DiarkisTcpBase.cpp:196
static bool DiarkisDestroy()
Diarkis termination process.
Definition: DiarkisInterfaceBase.cpp:156
Arguments of the callback event called when room migration competed.
Definition: eventArgs.h:647
const Diarkis::StdString & GetPropertyName() const
Get the property name.
bool bReserved_
Whether you reserved a Room or not.
Definition: DiarkisRoomBase.h:1100
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.
Definition: DiarkisInterfaceBase.cpp:967
std::shared_ptr< IDiarkisField > field_
Pointer to the IDiarkisField class.
Definition: DiarkisFieldBase.h:219
std::shared_ptr< DiarkisSessionBase > sessionBase_
Pointer to DiarkisSessionBase class.
Definition: DiarkisInterfaceBase.h:1309
std::shared_ptr< IDiarkisUdp > Get()
Get a pointer to IDiarkisUdp.
Definition: DiarkisUdpBase.cpp:202
virtual void SendFieldJoin(int64_t x, int64_t y, int64_t z, const uint8_t *payload, size_t payloadSize, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
Join field.
Definition: DiarkisFieldBase.cpp:142
Arguments of the callback event called when received Session Create response.
Definition: eventArgs.h:1892
void SetUserID(const char *userID)
Set user ID.
Definition: DiarkisSessionBase.cpp:163
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger class.
Definition: DiarkisTcpBase.h:236
const Diarkis::StdString & GetUnresolvedAddress() const
Get unresolved address of the peer.
Arguments of the callback events when connecting to the server.
Definition: eventArgs.h:153
DIARKIS_EXPORT IDiarkisTcp * DiarkisCreateTcp(size_t heartbeatInterval=5000)
Create IDiarkisTcp class.
Result HttpConnect(std::shared_ptr< IDiarkisLogger > logger, const char *host, const char *clientKey, const char *uid, const char *serverType, char *endpoint, size_t endpointBuf, struct AuthInfo *auth)
Definition: http.cpp:492
virtual void SendClaimReservedMatchmaking(const uint8_t *message, size_t messageSize)
Participate in a reserved matching as a host.
Definition: DiarkisMatchMakerBase.cpp:757
uint32_t affinityMask
CPU affinity mask.
Definition: Thread.h:97
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger class.
Definition: DiarkisSessionBase.h:487
const StdVector< std::shared_ptr< P2PClientAddr > > & GetAddresses() const
Get addresses of peers.
Diarkis::StdString ownUid_
My user ID.
Definition: DiarkisRpcBase.h:168
const Diarkis::StdString uid_
My user ID.
Definition: DiarkisInterfaceBase.h:1381
Arguments of callback events called when received the result of Diarkis::Modules::IDiarkisRoom::FindR...
Definition: eventArgs.h:1092
const Diarkis::StdString & GetTicketBroadcastMessage(void)
Retrieve received broadcast messages.
Definition: DiarkisMatchMakerBase.cpp:671
Arguments of the callback event called when created a room.
Definition: eventArgs.h:533
Diarkis::StdString groupMessage_
Latest message received.
Definition: DiarkisGroupBase.h:399
std::shared_ptr< IDiarkisLogger > logger_
Pointer to logger class.
Definition: DiarkisInterfaceBase.h:1421
std::shared_ptr< ILoggerBackend > GetDebugLoggerBackend()
Get debug output log.
Definition: DiarkisInterfaceBase.cpp:1114
virtual void OnChatSyncResponse(const DiarkisRoomPayloadEventArgs &e)
Callback function called when a response to a chat transmission is received.
Definition: DiarkisRoomBase.cpp:669
void SetJoinRoomID(const char *roomID)
Set the Room ID.
Definition: DiarkisRoomBase.cpp:260
Diarkis::StdString ownUID_
自分のユーザーID
Definition: DiarkisRoomBase.h:1076
DIARKIS_EXPORT IDiarkisDirectMessage * DiarkisCreateDirectMessage()
Create IDiarkisDirectMessage class.
static std::shared_ptr< ILoggerBackend > fileLoggerBackend_
Logger for file output.
Definition: DiarkisInterfaceBase.h:1461
const char * GetDescription() const
Gets a longer and more descriptive message related to the result value.
bool IsSuccess() const
Get whether the command was successful or not.
virtual void OnP2PDisconnect(const DiarkisP2PDisconnectEventArgs &args)
Callback event called when a P2P connection is disconnected.
Definition: DiarkisP2PBase.cpp:275
virtual void SendSearchTeamMatchmaking(const char **profileIDs, size_t profileIDsCount, const char *tag, const MatchMakerCondition *conditions, size_t conditionsCount, bool joinFlag, uint16_t howmany, const uint8_t *message, size_t messageSize)
Search for matchmaking using profile IDs.
Definition: DiarkisMatchMakerBase.cpp:887
virtual void OnRoomObjectUpdateResponse(const DiarkisRoomObjectUpdateResponseEventArgs &e)
Callback event called when a response is received to an update of a Room object.
Definition: DiarkisRoomBase.cpp:774
void GetTeamMatchingMemberList(Diarkis::StdVector< Diarkis::StdString > &memberList)
Obtain matched members with team matching.
Definition: DiarkisMatchMakerBase.cpp:690
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
#define DIARKIS_AUTHKEY_LEN
Definition: common.h:57
Search condition for matchmaking.
Definition: matchMaker.h:25
virtual void OnRoomMigrateComplete(const DiarkisRoomMigrateCompleteEventArgs &e)
Callback function called when a Room migration is completed.
Definition: DiarkisRoomBase.cpp:485
bool SetSendThreadParam(const DiarkisThreadScheduler &scheduler)
Specifies the priority of the UDP sending thread.
Definition: DiarkisUdpBase.cpp:230
virtual void SendLeaveGroup(const char *groupID, const uint8_t *message, size_t messageSize)
Leave from the specified group.
Definition: DiarkisGroupBase.cpp:296
Arguments of the callback event called when MatchMaker push is received.
Definition: eventArgs.h:1642
@ FILE_OUT
Definition: DiarkisInterfaceBase.h:36
bool noWait_
Whether it need to enter the wait by using the condition variable.
Definition: DiarkisInterfaceBase.h:1191
std::condition_variable sync_condition_
A condition_variable that will be used for controlling the process launch timing.
Definition: DiarkisInterfaceBase.h:1183
Structure to contain MatchMaker search results.
Definition: eventArgs.h:64
virtual void SendJoin(uint8_t sessionType, const char *sessionID)
Join a Session.
Definition: DiarkisSessionBase.cpp:130
const StdVector< std::uint8_t > & GetPayload() const
Get the received payload.
virtual void SendMessageTo(uint8_t sessionType, const char **uids, size_t uidsCount, const uint8_t *message, size_t messageSize)
Send a message to particular membbers.
Definition: DiarkisSessionBase.cpp:405
bool SendHeartbeat(void)
Sends a heartbeat to the.
Definition: DiarkisTcpBase.cpp:170
virtual void OnSessionKickResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendKick is sent.
Definition: DiarkisSessionBase.cpp:257
const Diarkis::StdString & GetResolvedAddress() const
Get resolved address of the peer.
uint16_t GetErrorCode() const
Get error code.
Interface class for DirectMessage.
Definition: directMessage.h:24
bool IsSuccess() const
Get whether the command was successful or not.
static std::shared_ptr< LoggerFactory > globalLoggerFactory_
A LoggerFactory that will be used for logging of the global process of the DiarkisInterfaceBase.
Definition: DiarkisInterfaceBase.h:1261
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisGroupBase.cpp:12
bool GetEndpoint(const char *host, const char *clientKey, const char *serverType, char *endpoint, size_t endpointBuf)
Obtain server connection information from the HTTP server.
Definition: DiarkisInterfaceBase.cpp:452
bool SendMigrate(void)
Attempts to change the current connection to a differernt server.
Definition: DiarkisUdpBase.cpp:325
virtual uint16_t SendUnicast(const uint8_t *payload, size_t payloadSize, RudpType type, const char *uid)
Sends a message to one peer.
Definition: DiarkisP2PBase.cpp:368
Diarkis::StdString serverType_
Server type.
Definition: DiarkisInterfaceBase.h:1389
std::shared_ptr< DiarkisGroupBase > GetGroupBase()
Get DiarkisGroupBase class.
Definition: DiarkisInterfaceBase.cpp:1144
bool IsSuccess() const
Get whether the command was successful or not.
bool IsSuccess() const
Get whether the command was successful or not.
int64_t convertMS(uint32_t sec)
Definition: misc.cpp:392
uint16_t GetErrorCode() const
Get error code.
virtual void SetupField(void)
Setup function for Field function.
Definition: DiarkisInterfaceBase.cpp:781
void ClearList(void)
Empty the list of members.
Definition: DiarkisMatchMakerBase.cpp:45
virtual void OnSessionBroadcast(const DiarkisSessionNotificationEventArgs &e)
Callback event when an a broadcast is received.
Definition: DiarkisSessionBase.cpp:214
RoomObjectMode GetMode() const
Gets the mode used for the update.
bool IsSuccess() const
Get whether the command was successful or not.
Diarkis::StdString GetOwnerUID(void)
Retrieves the user ID of the participating Room owner.
Definition: DiarkisRoomBase.cpp:240
void CreateRoom(uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
Create a new room.
Definition: DiarkisInterfaceBase.cpp:924
const RoomChatData & GetChatData() const
ConnectState
connection state
Definition: protocol.h:40
std::shared_ptr< DiarkisTcpBase > GetTcpBase()
Obtaining the DiarkisTcpBase class.
Definition: DiarkisInterfaceBase.cpp:1119
virtual void SetupProfile(uint32_t interval, uint32_t buffer, bool p2pRandomStart=true)
Setup Profile functionality.
Definition: DiarkisInterfaceBase.cpp:853
Arguments of the callback event called when a P2P connection fails.
Definition: eventArgs.h:354
const Diarkis::StdUnorderedMap< Diarkis::StdString, StdVector< uint8_t > > & GetProperties() const
Get room properties (property name and its value)
Diarkis::StdString asyncEndpointResult_
The result of the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1554
virtual void OnStartP2PSync(const DiarkisP2PEventArgs &e)
StartP2PSyncプッシュ通知を受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:705
bool Connect(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
Connect with UDP server.
Definition: DiarkisUdpBase.cpp:99
const Diarkis::StdString & GetRoomID() const
Get the room ID.
@ Warning
Displays warning, error, and fatal level.
virtual void OnRoomFindByType(const DiarkisRoomFindByTypeEventArgs &e)
Callback function called when a FindRoomsByType search result is received.
Definition: DiarkisRoomBase.cpp:602
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
Set a function to run when an event related to UDP has been added to the scheduler.
Definition: DiarkisUdpBase.cpp:517
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisSessionBase.cpp:13
@ DEBUG_OUT
Definition: DiarkisInterfaceBase.h:35
const Diarkis::StdString & GetPropertyName() const
Get the property name.
virtual void SetupUdp(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
Set up DirectMessage with UDP protocol.
Definition: DiarkisDirectMessageBase.cpp:49
AsyncGetEndpointArgs asyncGetEndpointArgs_
The arguments passing to the asynchronous getting the endpoint process.
Definition: DiarkisInterfaceBase.h:1530
virtual void OnSessionMessageToResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendMessageTo is sent.
Definition: DiarkisSessionBase.cpp:281
virtual void OnRoomCreation(const DiarkisRoomCreationEventArgs &e)
Callback function called when a Room is created.
Definition: DiarkisRoomBase.cpp:297
virtual void OnRoomRelayTo(const DiarkisPayloadEventArgs &e)
Callback function called when received a message by RelayTo.
Definition: DiarkisRoomBase.cpp:521
uint16_t GetErrorCode() const
Get error code.
bool SetConnectionInfo(const char *clientKey, const uint8_t *sid, size_t sidSize, const uint8_t *key, size_t keySize, const uint8_t *iv, size_t ivSize, const uint8_t *mackey, size_t mackeySize)
Set the information for connecting to UDP server.
Definition: DiarkisUdpBase.cpp:522
const StdVector< StdString > & GetMemberIDs() const
Get the user IDs of members participating in a session.
std::shared_ptr< Diarkis::Network::IDiarkisProfile > GetProfile()
Get IDiarkisProfile class, which is an interface for profiling functions.
Definition: DiarkisInterfaceBase.cpp:859
virtual void SendChatMessage(const char *message)
Sends a chat message to the Room members.
Definition: DiarkisRoomBase.cpp:1168
std::shared_ptr< Diarkis::Network::IDiarkisProfile > profile_
Pointer to IDiarkisProfile class.
Definition: DiarkisInterfaceBase.h:1357
Argument of the callback event called when the Room Owner's User ID is retrieved.
Definition: eventArgs.h:859
virtual void SendBroadcast(uint8_t sessionType, const uint8_t *message, size_t messageSize)
Broadcast a message.
Definition: DiarkisSessionBase.cpp:385
std::shared_ptr< DiarkisMatchMakerBase > GetMatchMakerBase()
Get DiarkisMatchMakerBase class.
Definition: DiarkisInterfaceBase.cpp:1154
static LogOutType logOutType_
Type of debug output.
Definition: DiarkisInterfaceBase.h:1485
void SendGetMemberIDs(void)
Get a list of user IDs of members participating in a room.
Definition: DiarkisInterfaceBase.cpp:1025
void GetAuthInfo(struct AuthInfo *auth)
Retrieves AuthInfo obtained with GetEndpoint().
Definition: DiarkisInterfaceBase.cpp:685
const Diarkis::StdVector< Diarkis::StdString > & GetRoomMembers() const
Get the user IDs of the members of the Room.
Definition: DiarkisRoomBase.cpp:291
virtual void SendUpdateObject(RoomObjectMode mode, const std::string &name, const std::unordered_map< std::string, double > &obj, bool reliable=true)
Updates the Room object.
Definition: DiarkisRoomBase.cpp:1208
Diarkis::StdString myUid_
My user ID.
Definition: DiarkisMatchMakerBase.h:1069
bool IsSuccess() const
Get whether the command was successful or not.
const StdVector< uint8_t > & EncryptionKey() const
virtual void OnRoomGetOwnerID(const DiarkisRoomGetOwnerIDEventArgs &e)
Callback function called when the user ID of a participating Room owner is obtained.
Definition: DiarkisRoomBase.cpp:390
Diarkis::StdString name
Thread name (PS4: up to 32 bytes including the terminating NULL character) or NULL.
Definition: Thread.h:89
const StdVector< uint8_t > & EncryptionMkey() const
bool IsSuccess() const
Get whether the command was successful or not.
const Diarkis::StdString & GetSessionID() const
Get the session ID.
uint32_t GetCreationTime() const
Get the time the room created.
int64_t GetDelta() const
Increase/decrease value of property.
const Diarkis::StdString & GetResolvedAddress() const
Get resolved address of the peer.
void SetClientKey(const char *clientKey)
接続先のクライアントキーを設定する
Definition: DiarkisInterfaceBase.cpp:251
std::mutex connectioninfoMutex_
The mutex for the variables that are modified in the GetEndpoint method.
Definition: DiarkisInterfaceBase.h:1514
const StdString & GetSessionID() const
Get the session ID.
Diarkis::StdString GetHost() const
Obtain the HTTP server address.
Definition: DiarkisInterfaceBase.cpp:229
void SendLeaveGroup(const char *groupID, const char *message)
Leave from the specified group.
Definition: DiarkisInterfaceBase.cpp:1069
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisUdpBase.cpp:16
int64_t createAtServer_
The time the Room you are currently in was created on the server.
Definition: DiarkisRoomBase.h:1092
std::shared_ptr< IDiarkisRoom > room_
Pointer to IDiarkisRoom class.
Definition: DiarkisMatchMakerBase.h:1029
virtual bool SendHostMatchmaking(const char *uid, uint16_t maxMembers, uint16_t ttl, const char *profileID, const char *tag, const MatchMakerCondition *conditions, size_t conditionsCount, const uint8_t *metadata, size_t metadataSize, bool bReserveOnly)
Starts matchmaking as host.
Definition: DiarkisMatchMakerBase.cpp:712
Diarkis::StdString host
Definition: DiarkisInterfaceBase.h:1503
Diarkis::StdString GetSessionID(uint8_t sessionType) const
Get the Session ID.
Definition: DiarkisSessionBase.cpp:410
std::shared_ptr< IDiarkisUdp > udp_
Pointer to the IDiarkisUdp class.
Definition: DiarkisFieldBase.h:211
bool IsComplete(void)
Whether matchmaking has been completed.
Definition: DiarkisMatchMakerBase.cpp:650
LogOutType
Type of log output.
Definition: DiarkisInterfaceBase.h:33
virtual void SendUpdateProperties(const std::unordered_map< std::string, std::vector< uint8_t >> &properties, bool sync=false)
Set Room properties.
Definition: DiarkisRoomBase.cpp:1058
virtual void OnResutls(const DiarkisMMResultEventArgs &e)
Callback function called when the search for matching is complete.
Definition: DiarkisMatchMakerBase.cpp:319
std::atomic< bool > internalSchedulerUpdated_
A flag enabled if the scheduler is updated.
Definition: DiarkisInterfaceBase.h:1586
virtual void OnSessionLeaveResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendLeave is sent.
Definition: DiarkisSessionBase.cpp:305
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
virtual ~DiarkisSessionBase()
DiarkisSessionBase destructor.
Definition: DiarkisSessionBase.cpp:23
virtual void SendTicketLeave(uint8_t ticketType)
Exits the room created by the ticket.
Definition: DiarkisMatchMakerBase.cpp:939
Diarkis::StdString GetRoomID()
Get the Room ID of the room you are participating in.
Definition: DiarkisInterfaceBase.cpp:1170
@ FILE_OUT_TO_SPECIFIC_PATH
Definition: DiarkisInterfaceBase.h:37
Result ParseEndpoint(std::shared_ptr< ILoggerBackend > logger, const Diarkis::StdString &endpoint, Diarkis::StdString &unresolvedAddress, uint16_t &port)
Definition: misc.cpp:272
virtual void OnRoomUpdateProperties(const DiarkisRoomSuccessEventArgs &e)
Callback function called when properties are updated with UpdateProperties.
Definition: DiarkisRoomBase.cpp:527
virtual void OnBackfillEvent(const DiarkisMMResponseEventArgs &e)
Callback function triggered when a room is added to the matching search.
Definition: DiarkisMatchMakerBase.cpp:391
virtual void OnEcho(const DiarkisUdpEchoEventArgs &args)
Callback function called when a echo is received from the server.
Definition: DiarkisUdpBase.cpp:383
std::shared_ptr< DiarkisRpcBase > GetRpcBase()
Get DiarkisRpcBase class.
Definition: DiarkisInterfaceBase.cpp:1159
virtual void OnTeamHostMatchmaking(const DiarkisMMHostEventArgs &e)
Callback function triggered when team matching is initiated as host.
Definition: DiarkisMatchMakerBase.cpp:453
void RegisterExceptionEvent(std::function< void(void *, const DiarkisExceptionEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:56
std::shared_ptr< IDiarkisLogger > logger_
Pointer to IDiarkisLogger class.
Definition: DiarkisUdpBase.h:446
static void CreateLogFolder()
Create folder for log output destination.
Definition: DiarkisInterfaceBase.cpp:274
virtual void OnRoomMigrateStart(void)
Callback function called when a Room migration starts.
Definition: DiarkisRoomBase.cpp:479
virtual void SendSearch(const char **profileIDs, size_t profileIDsCount, const char *tag, const MatchMakerCondition *conditions, size_t conditionsCount, bool joinFlag, uint16_t howmany, const uint8_t *message, size_t messageSize)
Search for matchmaking using profile IDs.
Definition: DiarkisMatchMakerBase.cpp:820
virtual void OnRoomChatLog(const DiarkisRoomChatLogEventArgs &e)
Callback function called when a response to GetChatLog is received.
Definition: DiarkisRoomBase.cpp:688
uint16_t GetErrorCode() const
Get error code.
DiarkisSessionBase()
DiarkisSessionBase constructor.
Definition: DiarkisSessionBase.cpp:17
bool IsLeave()
Whether or not you have left the Room.
Definition: DiarkisRoomBase.cpp:230
bool bComplete_
Whether matching has been completed.
Definition: DiarkisMatchMakerBase.h:1117
static bool bOutputLog_
Whether to log output or not.
Definition: DiarkisInterfaceBase.h:1493
virtual void SetupTcpField(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
Set up Field with TCP protocol.
Definition: DiarkisFieldBase.cpp:29
Argument of the callback event called when a UDP or TCP Response is received.
Definition: eventArgs.h:1365
virtual void SetupP2P(void)
P2P setup functions.
Definition: DiarkisInterfaceBase.cpp:694
Base class for interfaces that manipulate the Diarkis library.
Definition: DiarkisInterfaceBase.h:49
std::shared_ptr< IDiarkisMatchMaker > mm_
Pointer to IDiarkisMatchMaker class.
Definition: DiarkisMatchMakerBase.h:1005
uint8_t GetTicketType() const
Get the TicketType.
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
virtual void OnSearch(const DiarkisMMJoinResponseEventArgs &e)
Callback function triggered when a matching search is completed.
Definition: DiarkisMatchMakerBase.cpp:294
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
static std::shared_ptr< ThreadedLoggerBackend > threadLoggerBackend_
Threaded loggers for collective output.
Definition: DiarkisInterfaceBase.h:1437
virtual void SendCancelReservationRoom(const char *cancelRoomID, const char **userIDs, size_t userIDsCount)
Cancels a Room reservation.
Definition: DiarkisRoomBase.cpp:1146
virtual void OnSessionBroadcastResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendBroadcast is sent.
Definition: DiarkisSessionBase.cpp:293
const char * GetVersion()
Definition: common.h:75
virtual void SendGetSessionInfoBySessionType(uint8_t sessionType)
Obtain information about the specified Session.
Definition: DiarkisSessionBase.cpp:415
#define DIARKIS_ERROR_LOG(logger, severity, msg, code, errString)
Definition: Logger.h:9
virtual void OnRoomOwnerChange(const DiarkisRoomGetOwnerIDEventArgs &e)
Callback function called when the Room owner is changed.
Definition: DiarkisRoomBase.cpp:436
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to the IDiarkisTcp class.
Definition: DiarkisGroupBase.h:351
virtual void OnChatSync(const DiarkisRoomChatEventArgs &e)
Callback function called when chat is received.
Definition: DiarkisRoomBase.cpp:681
DiarkisThreadPolicy policy
Thread policy.
Definition: Thread.h:93
virtual void OnDisappear(const Diarkis::StdString &remoteUid)
Callback event called when Disappear is received.
Definition: DiarkisFieldBase.cpp:116
const Diarkis::StdString & GetClientAddress() const
Get the client's global IP address.
Interface class for Field.
Definition: field.h:25
Interface class for TCP function.
Definition: tcp.h:49
uint8_t GetVersion() const
Get the command version.
Arguments of the callback event called when start P2P connection.
Definition: eventArgs.h:1817
virtual void OnTeamSearch(const DiarkisMMJoinResponseEventArgs &e)
Callback function triggered when a team matching search is completed.
Definition: DiarkisMatchMakerBase.cpp:472
Diarkis::StdString ownerID_
User ID of the Room owner.
Definition: DiarkisRoomBase.h:1084
@ RELIABLE_UNORDERED
Guarantee packet delivery but not fixed order.
Definition: p2p.h:36
virtual void SendStartP2PSync(uint8_t linkedClients=0)
Starts P2P communication with the members participating in the Room.
Definition: DiarkisRoomBase.cpp:1200
void DiarkisDelete(T *ptr)
Definition: common.h:191
#define DIARKIS_UNUSED(var)
Definition: common.h:51
virtual void SendLeave(uint8_t sessionType)
Leave a Session.
Definition: DiarkisSessionBase.cpp:144
virtual void OnNotification(const DiarkisPushEventArgs &args)
Callback function called when a notification is received from the server.
Definition: DiarkisTcpBase.cpp:273
uint16_t GetErrorCode() const
Get error code.
virtual ~DiarkisFieldBase()
DiarkisFieldBase destructor.
Definition: DiarkisFieldBase.cpp:22
Diarkis::StdString clientKey_
Client key of the HTTP server to connect to.
Definition: DiarkisInterfaceBase.h:1373
uint16_t GetErrorCode() const
Get error code.
DiarkisInterfaceBase(const char *userId, bool bInitBaseClass=true)
Constructor of Diarkis interface class.
Definition: DiarkisInterfaceBase.cpp:58
Diarkis::StdString VectorToPrintable(const Diarkis::StdVector< uint8_t > &payload)
Definition: string.cpp:117
#define DIARKIS_UNUSED_IN_RELEASE(var)
Definition: common.h:53
bool IsConnected()
Whether or not you are connected to the UDP server.
Definition: DiarkisUdpBase.cpp:264
virtual ~DiarkisUdpBase()
DiarkisUdpBase destructor.
Definition: DiarkisUdpBase.cpp:27
virtual void SetupDirectMessage(void)
DirectMessage setup functions.
Definition: DiarkisInterfaceBase.cpp:829
virtual void OnCheckNATType(const DiarkisCheckNATTypeEventArgs &args)
Callback event triggered by a SendCheckNATType response.
Definition: DiarkisUdpBase.cpp:485
Diarkis::StdString ownerUid_
Matching owner's user ID.
Definition: DiarkisMatchMakerBase.h:1077
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
virtual void SendGetNumberOfMembers(void)
Get the number of members in the Room.
Definition: DiarkisRoomBase.cpp:881
DIARKIS_EXPORT IDiarkisUdp * DiarkisCreateUdp(uint32_t sendInterval=100, uint32_t echoInterval=5000)
Initialization of UDP class instance.
Arguments of the callback event called when MatchMaker Join response is received.
Definition: eventArgs.h:1690
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
Callback function called when a push is received from the server.
Definition: DiarkisUdpBase.cpp:441
virtual 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.
Definition: DiarkisRoomBase.cpp:921
std::shared_ptr< IDiarkisUdp > udp_
Pointer to IDiarkisUdp class.
Definition: DiarkisMatchMakerBase.h:1021
Diarkis::StdString ticketBroadcastMessage_
Message received on TicketBroadcast.
Definition: DiarkisMatchMakerBase.h:1085
const StdString & GetErrorMessage() const
Gets the contents of the error.
virtual uint16_t SendBroadcast(const uint8_t *payload, size_t payloadSize, RudpType type)
Sends a message to all peers.
Definition: DiarkisP2PBase.cpp:437
void RegisterFailEvent(std::function< void(void *, const DiarkisFailEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:38
void RegisterDisconnectEvent(std::function< void(void *, const DiarkisP2PDisconnectEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:44
const Diarkis::StdUnorderedMap< Diarkis::StdString, double > & GetObjectMap() const
Get the updated object value.
virtual void SendLeaveRoom(const char *uid)
Leaving a Room.
Definition: DiarkisRoomBase.cpp:984
virtual bool RPCAll(uint32_t rpcID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
Call the RPCs of all participants in the room.
Definition: DiarkisRpcBase.cpp:58
virtual void SendJoinMatchmakingFromResult(MatchMakerResultItem &result, const uint8_t *message, size_t messageSize)
Participate in matchmaking as a guest using the results of matchmaking.
Definition: DiarkisMatchMakerBase.cpp:769
DIARKIS_EXPORT IDiarkisRoom * DiarkisCreateRoom()
Create IDiarkisRoom class.
virtual void SendMigrateRoom(void)
Move the Room to a different server.
Definition: DiarkisRoomBase.cpp:1041
bool IsSuccess() const
Get whether the command was successful or not.
Arguments of the callback event called when sending or receiving fails in P2P.
Definition: eventArgs.h:499
const Diarkis::StdString & GetRoomID() const
Get the room ID.
virtual void OnConnect(const DiarkisConnectionEventArgs &args)
Callback function called when connecting to the server.
Definition: DiarkisUdpBase.cpp:348
Diarkis::StdString GetOwnUID(void) const
Obtain your own user ID.
Definition: DiarkisRoomBase.cpp:245
Arguments of the callback event called when MatchMaker host has changed.
Definition: eventArgs.h:1794
std::recursive_mutex list_mutex_
roomMemberIDs Mutex
Definition: DiarkisRoomBase.h:1060
Arguments of callback events called when received the chat message by Diarkis::Modules::IDiarkisRoom:...
Definition: eventArgs.h:1144
Diarkis::StdVector< uint8_t > Buff_
Buffer for transmission.
Definition: DiarkisMatchMakerBase.h:1061
virtual void OnRoomMemberMessage(const DiarkisPayloadEventArgs &e)
Callback function called when received a message by MessageTo.
Definition: DiarkisRoomBase.cpp:509
virtual void OnOffline()
Callback function called when the server prepares to shutdown.
Definition: DiarkisTcpBase.cpp:260
DIARKIS_EXPORT IDiarkisField * DiarkisCreateField()
Create IDiarkisField class.
virtual void OnP2PReady(const DiarkisReadyEventArgs &args)
Callback event called when a P2P connection succeeds.
Definition: DiarkisP2PBase.cpp:251
std::shared_ptr< DiarkisP2PBase > p2pBase_
Pointer to DiarkisP2PBase class.
Definition: DiarkisRoomBase.h:1020
void CloseP2P(void)
Disconnect all P2P connections.
Definition: DiarkisInterfaceBase.cpp:714
virtual void SendGetSessionInfoBySessionID(const char *sessionID)
Obtain information about the specified Session.
Definition: DiarkisSessionBase.cpp:434
virtual void OnSessionInviteResponse(const DiarkisSessionResponseEventArgs &e)
Callback event when a response is received from the server when SendInvite is sent.
Definition: DiarkisSessionBase.cpp:245
bool IsJoin()
Whether or not you are participating in a group.
Definition: DiarkisGroupBase.cpp:117
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisMatchMakerBase.cpp:14
@ CUSTOM
Definition: DiarkisInterfaceBase.h:40
Arguments of the callback event called when a P2P connection is completed.
Definition: eventArgs.h:298
std::shared_ptr< DiarkisDirectMessageBase > dmBase_
Pointer to DiarkisDirectMessageBase class.
Definition: DiarkisInterfaceBase.h:1349
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisFieldBase.cpp:12
DiarkisThreadPolicy
Thread scheduling policy.
Definition: Thread.h:44
virtual ~DiarkisGroupBase()
DiarkisGroupBase destructor.
Definition: DiarkisGroupBase.cpp:28
DIARKIS_EXPORT System::Result SUCCESS
Everything went according to plan. (status: NONE, value: 0)
const Diarkis::StdString & GetUID() const
Get user ID of the peer.
@ UDP_JOINING
Connecting by UDP.
Definition: protocol.h:69
Arguments of the callback event called when the group is created.
Definition: eventArgs.h:199
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisDirectMessageBase.cpp:13
std::shared_ptr< Diarkis::System::DiarkisThread > runtimeThread_
Runtime loop thread.
Definition: DiarkisInterfaceBase.h:1167
Arguments of the callback event called when a P2P is disconnected.
Definition: eventArgs.h:402
bool IsJoin()
Whether or not you are participating in the Room.
Definition: DiarkisRoomBase.cpp:206
virtual void SetupUdpRoom(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, const std::shared_ptr< DiarkisP2PBase > &p2pBase, bool bRetry)
Set up Room with UDP protocol.
Definition: DiarkisRoomBase.cpp:116
Arguments of the callback event called when an UDP Echo is received.
Definition: eventArgs.h:1421
const char * SeverityToString(DiarkisLoggerSeverity severity)
Definition: helpers.cpp:19
DIARKIS_EXPORT IDiarkisMatchMaker * DiarkisCreateMatchMaker()
Create IDiarkisMatchMaker class.
virtual void OnP2PResponse(const DiarkisMMResponseEventArgs &e)
Callback function triggered when starting P2P.
Definition: DiarkisMatchMakerBase.cpp:385
bool SendPing(void)
Ping UDP server.
Definition: DiarkisUdpBase.cpp:298
virtual void SendJoinRandomRoom(const char *uid, uint32_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty)
Join the Room if available, otherwise create a new Room.
Definition: DiarkisRoomBase.cpp:845
Argument of the callback event called when MatchMaker's HostMatchmaking or TeamHostMatchmaking is exe...
Definition: eventArgs.h:1546
virtual void SetupUdpMatchMaker(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, const std::shared_ptr< DiarkisP2PBase > &p2pBase)
Setup MatchMaker with UDP protocol.
Definition: DiarkisMatchMakerBase.cpp:112
uint16_t GetErrorCode() const
Get error code.
virtual void OnRoomNumberOfMembers(const DiarkisRoomNumberOfMembersEventArgs &e)
Callback function called to get the number of members in a Room.
Definition: DiarkisRoomBase.cpp:425
void SchedulerAddNotifyEvent()
An event that is executed when an event has been added to the scheduler of TCP/UDP/P2P.
Definition: DiarkisInterfaceBase.cpp:1367
@ Error
Displays fatal and error level.
virtual void OnDisconnect(bool isReconnect)
Callback function called when disconnect from the server.
Definition: DiarkisUdpBase.cpp:364
DiarkisConnectStatus GetStatus() const
Get connection status with server.
RudpType
Type of P2P RUDP functionality.
Definition: p2p.h:21
bool bTeamMatchOwner_
Whether the owner who issued the TeamMatch Host or Search.
Definition: DiarkisMatchMakerBase.h:1157
int64_t GetTime(void)
Definition: misc.cpp:380
Diarkis::StdString GetRoomID(void)
Get Room ID.
Definition: DiarkisMatchMakerBase.cpp:947
const StdString & GetErrorMessage() const
Gets the contents of the error.
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインタ
Definition: DiarkisSessionBase.h:463
const Diarkis::StdString & GetSenderID() const
Get the sender's user ID.
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
std::shared_ptr< IDiarkisUdp > udp_
Pointer to IDiarkisUdp class.
Definition: DiarkisUdpBase.h:438
std::mutex asyncGetEndpointMutex_
The mutex for the whole process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1522
uint16_t GetErrorCode() const
Get error code.
const Diarkis::StdString & GetContent() const
const Diarkis::StdString & GetSessionID() const
Get the session ID.
std::shared_ptr< DiarkisUdpBase > udpBase_
Pointer to DiarkisUdpBase class.
Definition: DiarkisInterfaceBase.h:1285
bool IsOffline()
Whether the TCP server is preparing for shutdown.
Definition: DiarkisTcpBase.cpp:298
Argument of the callback event called when the Room property is acquired.
Definition: eventArgs.h:743
std::function< void()> schedulerAddNotifyEventFunc_
Sets the process to be called when UDP related events are added to a scheduler.
Definition: DiarkisUdpBase.h:462
bool IsReserve()
Whether you reserved a Room or not.
Definition: DiarkisRoomBase.cpp:235
bool IsTicketCancel(void)
Whether the ticket was canceled or not.
Definition: DiarkisMatchMakerBase.cpp:675
bool asyncGetEndpointResult_
The result of the process of getting the endpoint asynchronously.
Definition: DiarkisInterfaceBase.h:1546
virtual void OnRoomLeave(const DiarkisRoomSuccessEventArgs &e)
Callback function called when left from a Room.
Definition: DiarkisRoomBase.cpp:463
virtual void SendTicketCancel(uint8_t ticketType)
Cancels an issued matchmaking ticket.
Definition: DiarkisMatchMakerBase.cpp:917
virtual void OnKickResponse(const DiarkisMMResponseEventArgs &e)
Callback function triggered on the host when the host kicks a particular member out of matching.
Definition: DiarkisMatchMakerBase.cpp:404
static std::shared_ptr< ILoggerBackend > customLoggerBackend_
Custom logger.
Definition: DiarkisInterfaceBase.h:1469
virtual void SendRelay(const uint8_t *payload, size_t payloadSize, bool reliable)
Sends a message to Room members other than yourself.
Definition: DiarkisRoomBase.cpp:942
std::shared_ptr< DiarkisGroupBase > groupBase_
Pointer to DiarkisGroupBase class.
Definition: DiarkisInterfaceBase.h:1317
bool IsSuccess() const
Get whether the command was successful or not.
uint16_t GetConnectedNum()
Get the number of peers connected by P2P.
Definition: DiarkisP2PBase.cpp:157
Diarkis::StdVector< Diarkis::StdString > memberLists_
User ID list of matched members.
Definition: DiarkisMatchMakerBase.h:1101
void Disconnect()
Disconnect TCP, UDP, and P2P connections.
Definition: DiarkisInterfaceBase.cpp:1379
uint8_t GetSessionType() const
Get the session type.
Arguments of the callback event called when a message is received by P2P.
Definition: eventArgs.h:450
#define DIARKIS_LOG(logger, severity,...)
Definition: Logger.h:8
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
virtual void OnSessionLeave(const DiarkisSessionNotificationEventArgs &e)
Callback event when an a member leave the Session, event content is the user ID.
Definition: DiarkisSessionBase.cpp:208
void FindByTypeRoom(uint32_t roomType, uint32_t limit)
Searches for rooms of the same type.
Definition: DiarkisInterfaceBase.cpp:976
void SetRoomModule(const std::shared_ptr< IDiarkisRoom > &room)
Set the Room module.
Definition: DiarkisMatchMakerBase.cpp:679
virtual void OnDisconnect(const DiarkisDirectMessageEventArgs &e)
Callback function called when a direct message is disconnected.
Definition: DiarkisDirectMessageBase.cpp:136
virtual void SetEncryptionKeys(bool bEncryption, const uint8_t *key, size_t keySize, const uint8_t *iv, size_t ivSize, const uint8_t *mkey, size_t mkeySize)
Set the encryption key.
Definition: DiarkisP2PBase.cpp:147
DIARKIS_EXPORT System::Result UNSET
The result is not set to any meaningful value. (status: FATAL, value: 0xFFFFFFFF)
bool GetLocalAddress(Diarkis::StdVector< Diarkis::StdString > &addressLists)
Get own local IP address.
Definition: DiarkisUdpBase.cpp:212
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
void SendPing(void)
Send ping to UDP server.
Definition: DiarkisInterfaceBase.cpp:864
virtual void OnTicketBroadcast(const DiarkisMMSyncEventArgs &e)
Callback function triggered when a TicketBroadcast is received.
Definition: DiarkisMatchMakerBase.cpp:630
int64_t GetDelta() const
Increase/decrease value of property.
uint64_t GetHolePunchTime() const
Get the time (ms) taken for a hole punch.
virtual void SetupTcpRoom(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
Set up Room with TCP protocol.
Definition: DiarkisRoomBase.cpp:38
virtual void OnRoomIncrementPropertySync(const DiarkisRoomIncrementPropertySyncEventArgs &e)
Callback function called when the property is changed with IncrementProperty.
Definition: DiarkisRoomBase.cpp:582
static std::shared_ptr< ILoggerBackend > debugLoggerBackend_
Logger for debug output.
Definition: DiarkisInterfaceBase.h:1453
Arguments of the callback event called when retrieving the list of participating members of the Room.
Definition: eventArgs.h:911
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to IDiarkisTcp class.
Definition: DiarkisTcpBase.h:228
void ResetGotoRoom(void)
Reset flag to move to game scene.
Definition: DiarkisMatchMakerBase.cpp:659
bool Connect(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
Connect with TCP server.
Definition: DiarkisTcpBase.cpp:113
virtual void OnOffline(void)
Callback function called when the server prepares to shutdown.
Definition: DiarkisUdpBase.cpp:376
virtual void OnTicketBroadcastResponse(const DiarkisMMResponseEventArgs &e)
Callback function triggered when a TicketBroadcast response is received.
Definition: DiarkisMatchMakerBase.cpp:615
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
bool IsNotFind()
Whether the Room was not found by FindRoomsByType.
Definition: DiarkisRoomBase.cpp:220
uint8_t GetStatus() const
Get the result of the command.
bool IsMigrate()
Whether the Room is under migration or not.
Definition: DiarkisRoomBase.cpp:225
virtual ~DiarkisP2PBase()
DiarkisP2PBase destructor.
Definition: DiarkisP2PBase.cpp:78
uint32_t GetNumber() const
Get the number of members.
Thread scheduler.
Definition: Thread.h:62
bool ConnectUdpDualModeAsync(const char *udpEndpoint)
Attemps to connect to the server by async using socket dual mode (explicit support for IPv6) turned o...
Definition: DiarkisInterfaceBase.cpp:676
bool bOffline_
Whether the server is getting ready to shut down.
Definition: DiarkisUdpBase.h:470
virtual void OnRoomMemberIDs(const DiarkisRoomMemberIDsEventArgs &e)
Callback function called to retrieve the user IDs of participating Room members.
Definition: DiarkisRoomBase.cpp:404
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
virtual void SendP2PAddressSync(uint8_t linkedClients=0)
Notifies matched members that a P2P connection has been initiated.
Definition: DiarkisMatchMakerBase.cpp:808
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
virtual void OnGroupCreation(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
Callback function called when a group is created.
Definition: DiarkisGroupBase.cpp:132
RoomObjectMode
An enumerated type that represents how to update a room object.
Definition: eventArgs.h:27
bool IsGotoRoom(void)
Whether or not a message wasent to move to the game scene.
Definition: DiarkisMatchMakerBase.cpp:655
void ClearUdpBuffer(void)
Clear send and receive buffer of Socket.
Definition: DiarkisUdpBase.cpp:338
virtual void OnHostChange(const DiarkisMMStringEventArgs &e)
Callback function triggered when matchmaking host changes.
Definition: DiarkisMatchMakerBase.cpp:550
virtual void OnP2PException(const DiarkisExceptionEventArgs &args)
Callback event called when sending or receiving fails in P2P.
Definition: DiarkisP2PBase.cpp:294
bool IsSuccess() const
Get whether the command was successful or not.
virtual void OnRoomMemberJoin(const DiarkisPayloadEventArgs &e)
Callback function called when another client joins the Room.
Definition: DiarkisRoomBase.cpp:380
std::shared_ptr< DiarkisFieldBase > GetFieldBase()
Get DiarkisFieldBase class.
Definition: DiarkisInterfaceBase.cpp:1149
bool IsSuccess() const
Get whether the command was successful or not.
static bool IsLogOutputTypeFile()
Returns whether the log output to a file.
Definition: DiarkisInterfaceBase.cpp:1260
virtual void SendGetOwnerID(void)
Get the Room owner's user ID.
Definition: DiarkisRoomBase.cpp:861
virtual void SetupTcpMatchMaker(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
Set up MatchMaker with TCP protocol.
Definition: DiarkisMatchMakerBase.cpp:52
uint8_t mac[DIARKIS_AUTHKEY_LEN]
Definition: common.h:63
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to IDiarkisTcp class.
Definition: DiarkisMatchMakerBase.h:1013
virtual void OnSessionMessageTo(const DiarkisSessionNotificationEventArgs &e)
Callback event when an a message is received.
Definition: DiarkisSessionBase.cpp:220
virtual void OnHeartbeat()
Callback function called when a heartbeat is received from the server.
Definition: DiarkisTcpBase.cpp:255
static RuntimeThreadData runtimeThreadData_
A data of the runtime thread.
Definition: DiarkisInterfaceBase.h:1200
uint16_t GetErrorCode() const
Get error code.
virtual ~DiarkisInterfaceBase()
Destructor of Diarkis interface class.
Definition: DiarkisInterfaceBase.cpp:66
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to IDiarkisTcp class.
Definition: DiarkisSessionBase.h:471
uint32_t GetRoundTripMs() const
Get round-trip time (ms)
virtual void SendFieldSync(int64_t x, int64_t y, int64_t z, const uint8_t *payload, size_t payloadSize, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
Sends data to other clients in the field.
Definition: DiarkisFieldBase.cpp:159
bool GetReconnect() const
Get a flag indicating whether or not the connection has been reconnected.
virtual void OnDisconnect(bool isReconnect)
Callback function called when disconnect from the server.
Definition: DiarkisTcpBase.cpp:267
void GetSafeCategory(const std::shared_ptr< IDiarkisLogger > &logger, Diarkis::StdString &categ)
Definition: helpers.cpp:10
std::shared_ptr< IDiarkisTcp > tcp_
Pointer to IDiarkisTcp class.
Definition: DiarkisRoomBase.h:996
const Diarkis::StdString & GetOwnerUID(void)
Gets the owner UID of the matched member.
Definition: DiarkisMatchMakerBase.cpp:957
virtual void Setup(const std::shared_ptr< LoggerFactory > &loggerFactory)
Setup function.
Definition: DiarkisUdpBase.cpp:32
bool IsSuccess() const
Get whether the command was successful or not.
@ LEAVE
Leaving.
Definition: protocol.h:97
Arguments of the callback event called when DM received.
Definition: eventArgs.h:1860
Arguments of callback events called when executing Room Regiser, Reserve, etc.
Definition: eventArgs.h:1040
DiarkisRpcBase()
DiarkisRpcBase constructor.
Definition: DiarkisRpcBase.cpp:15
static Diarkis::System::Result RuntimeLoop(void *owner)
Loop function to call Diarkis client library updates.
Definition: DiarkisInterfaceBase.cpp:1337
const Diarkis::StdString & GetUnresolvedAddress() const
Get unresolved address of the peer.
virtual void SendSync(const uint8_t *message, size_t messageSize)
マッチしたメンバーにメッセージを送信します。
Definition: DiarkisMatchMakerBase.cpp:793
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
Callback function called when a response is received from the server.
Definition: DiarkisTcpBase.cpp:212
uint32_t stackSize
Stack size of the thread.
Definition: Thread.h:99
virtual void OnRoomRelay(const DiarkisPayloadEventArgs &e)
Callback function called when received a message by Relay.
Definition: DiarkisRoomBase.cpp:515
virtual ~DiarkisMatchMakerBase()
DiarkisMatchMakerBase destructor.
Definition: DiarkisMatchMakerBase.cpp:38
virtual void OnComplete(void)
Callback function triggered when a match is completed.
Definition: DiarkisMatchMakerBase.cpp:287
DiarkisMatchMakerBase()
DiarkisMatchMakerBase constructor.
Definition: DiarkisMatchMakerBase.cpp:16
void RegisterReadyEvent(std::function< void(void *, const DiarkisReadyEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:32
~Peer()
Definition: DiarkisP2PBase.cpp:20
Interface class for P2P.
Definition: p2p.h:57
virtual void SendRandomJoinGroup(uint16_t ttl, const uint8_t *message, size_t messageSize, uint32_t interval, bool allowEmpty=false)
If there is a group you can join, join that group, otherwise create a new group.
Definition: DiarkisGroupBase.cpp:252
virtual void OnRoomIncrementProperty(const DiarkisRoomIncrementPropertyEventArgs &e)
Callback function called when the property is changed with IncrementProperty.
Definition: DiarkisRoomBase.cpp:567
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
virtual void OnRoomObjectUpdate(const DiarkisRoomObjectUpdateEventArgs &e)
Callback event called when a UpdateObject push is received.
Definition: DiarkisRoomBase.cpp:758
Diarkis::StdVector< Diarkis::StdString > roomMemberIDs_
List of Room members' user IDs.
Definition: DiarkisRoomBase.h:1068
bool bGotoRoom_
Whether or not a message wasent to move to the game scene.
Definition: DiarkisMatchMakerBase.h:1125
uint16_t GetP2PConnectedNum(void)
Get the number of P2P connected clients.
Definition: DiarkisInterfaceBase.cpp:905
virtual void OnRoomMemberBroadcast(const DiarkisPayloadEventArgs &e)
Callback function called when received a Broadcast message.
Definition: DiarkisRoomBase.cpp:503
virtual void OnMessage(const DiarkisDirectMessageEventArgs &e)
Callback function triggered when a direct message from another user is received.
Definition: DiarkisDirectMessageBase.cpp:126
virtual void SetupUdpField(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
Setup Field with UDP protocol.
Definition: DiarkisFieldBase.cpp:59
uint16_t GetMaxMembers() const
Get the maximum number of users allowed to join a session.
virtual void OnNotification(const DiarkisPushEventArgs &args)
Callback function called when a notification is received from the server.
Definition: DiarkisUdpBase.cpp:468
uint16_t GetErrorCode() const
Get error code.
const Diarkis::StdString & GetErrorMessage() const
Gets the contents of the error.
Diarkis::StdString senderUID
Definition: eventArgs.h:128
std::shared_ptr< LoggerFactory > GetLoggerFactory()
Get loggers.
Definition: DiarkisInterfaceBase.cpp:1104
void SendGetOwnerID(void)
Get the room owner's user ID.
Definition: DiarkisInterfaceBase.cpp:1016
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
Callback function called when a response is received from the server.
Definition: DiarkisUdpBase.cpp:412
virtual void SendNotifyMatchmakingCompletion(void)
Notifies all matching clients that matchmaking is complete.
Definition: DiarkisMatchMakerBase.cpp:801
std::shared_ptr< IDiarkisLogger > logger_
Pointer to the IDiarkisLogger class.
Definition: DiarkisGroupBase.h:375
Arguments of the callback event called when the response of Diarkis::Modules::IDiarkisRoom::SendCheck...
Definition: eventArgs.h:1487
const char * TranslateCommand(uint8_t version, uint16_t command)
Definition: protocol.cpp:11
Argument of the callback event called when a UDP or TCP Push is received.
Definition: eventArgs.h:1316
virtual void OnP2PMessage(const DiarkisMessageEventArgs &args)
Callback event called when a message is received by P2P.
Definition: DiarkisP2PBase.cpp:283
Definition: DiarkisInterfaceBase.h:1141
std::shared_ptr< IDiarkisLogger > logger_
Pointer to logger class.
Definition: DiarkisP2PBase.h:455
virtual void SetupRpc()
Setup function for RPC.
Definition: DiarkisInterfaceBase.cpp:768
Diarkis::StdString VectorToString(const Diarkis::StdVector< uint8_t > &vec)
Definition: string.cpp:50
uint8_t GetNATType() const
Get determined NAT type.
uint8_t GetSessionType() const
Get the session type.
std::shared_ptr< DiarkisDirectMessageBase > GetDirectMessageBase()
Get DiarkisDirectMessageBase class.
Definition: DiarkisInterfaceBase.cpp:1164
Arguments of callback events called when received the result of Diarkis::Modules::IDiarkisRoom::GetCh...
Definition: eventArgs.h:1168
virtual bool SetupTcp(void)
Initialize DiarkisTcpBase class.
Definition: DiarkisInterfaceBase.cpp:368
const StdVector< uint8_t > & GetPayload() const
Get the received payload.
static std::shared_ptr< ILoggerBackend > consoleLoggerBackend_
Logger for console output.
Definition: DiarkisInterfaceBase.h:1445
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
Callback function called when a push is received from the server.
Definition: DiarkisTcpBase.cpp:235