 |
Diarkis C++Client Library API Document
|
[詳解]
39 * Represents a match maker
for creating game sessions.
40 * ~@japanese ゲームセッションを作成するためのマッチメーカーを表します。
uint32_t GetCreatedAt() const
ユーザーがRoomに参加した時刻を取得します。
virtual void SendRelayTo(const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
ルームに参加している特定のメンバーにメッセージを送信します。
Definition: DiarkisRoomBase.cpp:963
bool bTicketComplete_
チケットマッチングが完了しているかどうか
Definition: DiarkisMatchMakerBase.h:1133
DiarkisFieldBase()
DiarkisFieldBaseのコンストラクタ
Definition: DiarkisFieldBase.cpp:14
std::shared_ptr< IDiarkisSession > session_
IDiarkisSessionクラスへのポインター
Definition: DiarkisSessionBase.h:479
bool IsReliable() const
通信がRUDPであるかどうか
virtual void OnTicketCancelResponse(const DiarkisMMResponseEventArgs &e)
チケットキャンセルの応答が受信されたときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:563
std::shared_ptr< DiarkisP2PBase > p2pBase_
DiarkisP2PBaseクラスへのポインタ
Definition: DiarkisMatchMakerBase.h:1037
virtual void OnSessionJoin(const DiarkisSessionNotificationEventArgs &e)
メンバーがセッションに参加したときのコールバックイベント、イベントの内容はユーザーIDです。
Definition: DiarkisSessionBase.cpp:202
virtual void OnOffline()
サーバーがシャットダウンの準備ができているときに呼び出されるコールバックイベント
Definition: DiarkisRoomBase.cpp:784
Roomプロパティの値が増加または減少したときに呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:767
const Diarkis::StdString & GetClientAddress() const
クライアントのグローバルIPアドレスを取得する
const char * GetStatusString() const
結果値の状態の文字列表現を取得します。
const Diarkis::StdString & GetClientKey() const
接続先のクライアントキーを取得する
Definition: DiarkisInterfaceBase.cpp:240
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインタ
Definition: DiarkisMatchMakerBase.h:1045
const Diarkis::StdString & GetUnresolvedAddress() const
ピアの未解決アドレスを取得する
uint16_t GetErrorCode() const
エラーコードを取得します。
const StdVector< uint8_t > & GetPayload() const
受信したペイロードを取得する
virtual void OnCommit(const DiarkisMMResponseEventArgs &e)
ホストがチームマッチメイキングへの参加を求めるときに呼び出されるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:418
std::shared_ptr< IDiarkisRPC > rpc_
IDiarkisRPCクラスへのポインタ
Definition: DiarkisRpcBase.h:144
UDP Pingを受信した際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1454
bool ConnectAsync(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
サーバーに非同期スレッドを使って接続します
Definition: DiarkisUdpBase.cpp:134
DIARKIS_EXPORT IDiarkisP2P * DiarkisCreateP2P(std::shared_ptr< IDiarkisUdp > udp)
IDiarkisP2Pクラスを作成します。
std::shared_ptr< IDiarkisRoom > room_
IDiarkisRoomクラスへのポインタ
Definition: DiarkisRpcBase.h:152
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual void SendCommit(void)
チームマッチングに参加するようにすべてのマッチしたチームメンバーに通知します。
Definition: DiarkisMatchMakerBase.cpp:897
virtual bool SendStartBackfill(const char *roomID)
指定されたRoomをマッチング検索に追加します。
Definition: DiarkisMatchMakerBase.cpp:832
virtual void OnSync(const Diarkis::StdVector< uint8_t > &payload)
フィールド内の近くのクライアントの位置を同期する際に呼ばれるコールバックイベント
Definition: DiarkisFieldBase.cpp:110
virtual ~DiarkisRoomBase()
DiarkisRoomBaseのデストラクタ
Definition: DiarkisRoomBase.cpp:30
Diarkis::Modules::IDiarkisRoom::UpdateObject() の応答を受信した際にコールバックイベントが呼び出される際の引数
Definition: eventArgs.h:1270
virtual void OnTicketLeave(const DiarkisMMResponseEventArgs &e)
TicketLeaveの応答を受信した際にトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:638
Session機能のためのインターフェースクラス
Definition: session.h:25
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
@ TCP_JOIN
TCPによって接続されています
Definition: protocol.h:90
AsyncGetEndpointStatus
エンドポイントを非同期で取得するプロセスの実行状況
Definition: DiarkisInterfaceBase.h:58
virtual void OnGroupLeave(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
グループを離れるときに呼び出されるコールバック関数。
Definition: DiarkisGroupBase.cpp:174
std::shared_ptr< Diarkis::System::DiarkisThread > getEndpointAsyncThread_
エンドポイントを非同期で取得するプロセスに使用されるスレッド
Definition: DiarkisInterfaceBase.h:1570
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインター
Definition: DiarkisP2PBase.h:439
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
#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)
UDPプロトコルを使用したDirectMessageを設定します。
Definition: DiarkisP2PBase.cpp:85
DIARKIS_EXPORT IDiarkisRPC * DiarkisCreateRPC(std::shared_ptr< IDiarkisRoom > room_)
IDiarkisRPCクラスを作成します。
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインタ
Definition: DiarkisGroupBase.h:359
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
bool IsOffline()
UDPサーバーがシャットダウンの準備をしているかどうか
Definition: DiarkisUdpBase.cpp:290
DiarkisTcpBase()
DiarkisTcpBaseのコンストラクタ
Definition: DiarkisTcpBase.cpp:18
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
std::shared_ptr< DiarkisTcpBase > tcpBase_
DiarkisTcpBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1277
void ClearUdpBuffer()
Socketの送受信バッファをクリアする
Definition: DiarkisInterfaceBase.cpp:897
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcpクラスへのポインタ
Definition: DiarkisFieldBase.h:203
Diarkis::StdString message
Definition: eventArgs.h:130
Sessionの応答を受信した時に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:2131
@ DEBUG_AND_FILE_OUT
Definition: DiarkisInterfaceBase.h:39
AuthInfo authInfo_
認証情報
Definition: DiarkisInterfaceBase.h:1405
uint8_t GetVersion() const
コマンドのバージョンを取得する
セッション通知を受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1952
const char * SeverityToString(DiarkisLoggerSeverity severity)
Definition: helpers.cpp:19
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインタ
Definition: DiarkisRoomBase.h:1004
bool SetRecvThreadParam(const DiarkisThreadScheduler &scheduler)
UDP 受信スレッドの優先度を指定します。
Definition: DiarkisUdpBase.cpp:242
virtual void SendCreate(uint8_t sessionType, uint8_t maxMembers, uint8_t ttl)
新しいセッションを作成します。
Definition: DiarkisSessionBase.cpp:317
std::shared_ptr< DiarkisP2PBase > p2pBase_
DiarkisP2PBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1293
TicketCancelプッシュを受信した際にコールバックイベントで呼び出される引数
Definition: eventArgs.h:1666
virtual void OnRoomMemberLeave(const DiarkisPayloadEventArgs &e)
RoomメンバーがRoomを退出するときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:452
const Diarkis::StdString & GetOwnerID() const
ルームのオーナーのユーザーIDを取得する
Result SendCheckNATType()
クライアントのNATタイプをチェックするためにサーバーにコマンドを送信します。 IDiarkisUdp::GetCheckNATTypeEvent(例:OnCheckNATType)で登録されたコールバ...
Definition: DiarkisUdpBase.cpp:254
virtual void OnJoin(const DiarkisSuccessEventArgs &e)
フィールドに参加したときに呼び出されるコールバックイベント
Definition: DiarkisFieldBase.cpp:89
ThreadFunc func
Pointer to function to be invoked by thread
Definition: Thread.h:95
フィールドに参加または退出する際に呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:2175
void StartP2P(void)
DiarkisRoomBase::SendStartP2PSync()を呼び出します
Definition: DiarkisInterfaceBase.cpp:915
const StdVector< std::uint8_t > & GetPayload() const
受信したペイロードを取得する
Diarkis::StdUniquePtr< Diarkis::StdVector< DiarkisInterfaceBase * > > instances_
現在更新プロセスを実行しているインスタンスのリスト。
Definition: DiarkisInterfaceBase.h:1244
std::recursive_mutex list_mutex_
リストのミューテックス
Definition: DiarkisMatchMakerBase.h:1093
bool GetAsyncEndpointResult(Diarkis::StdString &endpoint) const
非同期でエンドポイントを取得する結果を取得する
Definition: DiarkisInterfaceBase.cpp:539
DiarkisGroupBase()
DiarkisGroupBaseのコンストラクタ
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)
HTTPサーバーに接続し、非同期処理を行ってTCP/UDPエンドポイントを取得します。
Definition: DiarkisInterfaceBase.cpp:487
uint16_t GetPort() const
ピアのポート番号を取得する
virtual void SendGetProperties(const char **propertyNames, size_t propertyNamesCount)
Roomのプロパティを取得します。
Definition: DiarkisRoomBase.cpp:1088
virtual void SetupSession(bool bRetry=false)
Session機能のセットアップ関数
Definition: DiarkisInterfaceBase.cpp:749
std::shared_ptr< DiarkisRoomBase > roomBase_
DiarkisRoomBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1301
virtual void OnSessionInvite(const DiarkisSessionInviteEventArgs &e)
ユーザーがセッションに招待されたときに呼び出されるコールバックイベント。イベントの内容はセッションIDです。
Definition: DiarkisSessionBase.cpp:195
bool ConnectUdp(void)
UDPサーバーに接続する。
Definition: DiarkisInterfaceBase.cpp:598
DiarkisLoggerSeverity
ログの重要度レベル
Definition: Logger.h:40
virtual ~DiarkisDirectMessageBase()
DiarkisDirectMessageBaseデストラクタ
Definition: DiarkisDirectMessageBase.cpp:21
@ TCP_JOINING
TCPによる接続
Definition: protocol.h:76
virtual void OnGroupMemberBroadcast(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数。
Definition: DiarkisGroupBase.cpp:207
uint32_t GetErrorCode() const
エラーコードを取得します。
const StdString & GetOwnerID() const
セッションオーナーのユーザーIDを取得する
DIARKIS_EXPORT IDiarkisSession * DiarkisCreateSession()
IDiarkisSessionクラスを作成します。
Diarkis::StdUnorderedMap< Diarkis::StdString, std::shared_ptr< Peer > > p2pList_
P2P接続のリスト。 キー:UID、値:IDiarkisP2Pへのポインタ
Definition: DiarkisP2PBase.h:423
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisRoomBase.cpp:14
std::shared_ptr< DiarkisRpcBase > rpcBase_
DiarkisRpcBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1341
virtual void OnJoin(const DiarkisMMJoinResponseEventArgs &e)
マッチメイキングに参加する際にトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:264
virtual uint16_t SendMulticast(const uint8_t *payload, size_t payloadSize, RudpType type, const char **uids, size_t uidsLen)
複数のピアにメッセージを送信します。
Definition: DiarkisP2PBase.cpp:410
uint16_t GetErrorCode() const
エラーコードを取得する。
std::shared_ptr< IDiarkisRoom > room_
IDiarkisRoom クラスへのポインター
Definition: DiarkisRoomBase.h:1012
Diarkis::StdVector< Diarkis::StdString > teamMemberLists_
チームマッチしたメンバーのユーザーIDリスト
Definition: DiarkisMatchMakerBase.h:1109
bool ConnectUdpAsync(const char *udpEndpoint)
UDPサーバーに接続します。接続の状態はDiarkisUDPBase::IsConnected()で確認できます。
Definition: DiarkisInterfaceBase.cpp:662
bool IsLogFileSystemEnabledNX64()
@ MIGRATE
Room 移動
Definition: protocol.h:111
virtual void SendRegisterRoom(uint32_t roomType, const char *roomName, const char *roomMetadata)
参加しているRoomに関する追加情報を登録します。
Definition: DiarkisRoomBase.cpp:1027
virtual bool RPCOne(uint32_t rpcID, const char *userID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
ルームに参加している特定のメンバーのRPCを呼び出します。
Definition: DiarkisRpcBase.cpp:81
Group用のインターフェースクラス
Definition: group.h:26
uint8_t iv[DIARKIS_AUTHKEY_LEN]
Definition: common.h:62
virtual void OnGroupMemberLeave(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
他のメンバーがグループを退出した時に呼び出されるコールバック関数。
Definition: DiarkisGroupBase.cpp:198
virtual void SendJoinGroup(const char *groupID, const uint8_t *message, size_t messageSize)
既存のグループに参加します。
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)
UDPプロトコルでGroupを設定します。
Definition: DiarkisGroupBase.cpp:76
bool bTicketCancel_
チケットによるマッチングがキャンセルされたかどうか
Definition: DiarkisMatchMakerBase.h:1149
Definition: results.autogen.h:10
void UpdateComponents()
UDP、TCP、P2Pの更新機能
Definition: DiarkisInterfaceBase.cpp:1267
Peer(std::shared_ptr< IDiarkisP2P > p2p)
Definition: DiarkisP2PBase.cpp:15
virtual void OnDisbandMatchmaking(const DiarkisMMSyncEventArgs &e)
マッチが解散された時にトリガーされるコールバック関数です。
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)
ルームに参加しているメンバーの任意のRPCを呼び出す。
Definition: DiarkisRpcBase.cpp:71
ペイロードが送受信されたときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:252
bool IsOffline(void)
UDPまたはTCPサーバーがシャットダウンの準備をしているかどうか
Definition: DiarkisInterfaceBase.cpp:880
void SendLeaveRoom()
Roomから退出する。
Definition: DiarkisInterfaceBase.cpp:998
const StdVector< std::uint8_t > & GetPayload() const
受信したペイロードを取得する
@ UNRELIABLE_UNORDERED
パケットの到達と順序の保証はありません(UDP)
Definition: p2p.h:29
bool IsFail()
グループに参加できなかったかどうか
Definition: DiarkisGroupBase.cpp:122
void Disconnect()
すべてのピアとのP2P接続を切断します。
Definition: DiarkisP2PBase.cpp:300
uint32_t GetMaxNumber() const
ルームに許可される最大ユーザー数を取得する
static void InitializeLoggerEnvironment()
ログアウトタイプに応じてDiarkisのロガーを初期化します
Definition: DiarkisInterfaceBase.cpp:1188
const Diarkis::StdString & GetUid() const
ユーザーIDを取得する
Definition: DiarkisInterfaceBase.cpp:235
bool IsAsyncConnectRunning() const
非同期接続プロセスが実行されているかどうかをチェックします。
Definition: DiarkisUdpBase.cpp:272
virtual ~DiarkisRpcBase()
DiarkisRpcBaseデストラクタ
Definition: DiarkisRpcBase.cpp:19
uint64_t UnregisterPeer(const Diarkis::StdString &uid)
IDiarkisP2Pインスタンスの登録を解除します
Definition: DiarkisP2PBase.cpp:477
bool IsTicketComplete(void)
チケットが完了したかどうか
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)
利用可能な場合は部屋に参加し、そうでない場合は新しい部屋を作成します。
Definition: DiarkisInterfaceBase.cpp:933
virtual void OnMemberJoin(const DiarkisMMSyncEventArgs &e)
別のクライアントがマッチングして入室した際にトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:235
UDP機能のためのインターフェースクラス
Definition: udp.h:64
uint16_t GetCommand() const
コマンドIDを取得する
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
std::function< void()> schedulerAddNotifyEventFunc_
P2P 関連のイベントが追加された時に呼ばれるコールバック関数
Definition: DiarkisP2PBase.h:463
static std::shared_ptr< ILoggerBackend > aggregatedLoggerBackend_
LoggerFactoryで使用されるロガーインターフェース
Definition: DiarkisInterfaceBase.h:1477
uint16_t GetErrorCode() const
エラーコードを取得します。
@ ROOM_NOT_FIND
FindByTypeによってRoomが見つかりませんでした
Definition: protocol.h:62
DiarkisRoomBase()
DiarkisRoomBaseコンストラクタ
Definition: DiarkisRoomBase.cpp:18
void JoinRoom()
ルームに参加します。
Definition: DiarkisInterfaceBase.cpp:942
virtual void OnGroupJoin(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
グループに参加するときに呼び出されるコールバック関数です。
Definition: DiarkisGroupBase.cpp:154
void SetOwnUID(const char *uid)
自分のユーザーIDを設定します。
Definition: DiarkisRoomBase.cpp:280
const Diarkis::StdString & GetUID() const
ピアのユーザーIDを取得する
bool IsFail()
ルームに参加に失敗したかどうか
Definition: DiarkisRoomBase.cpp:211
uint16_t GetErrorCode() const
エラーコードを取得します。
uint8_t GetSessionType() const
セッションのタイプを取得する
const Diarkis::StdString & GetResolvedAddress() const
ピアの解決されたアドレスを取得します
Roomプロパティの値を同期する際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:827
virtual void SendIncrementProperty(Diarkis::StdString propertyName, int64_t delta, bool sync)
指定されたRoomのプロパティの値を増やしたり減らしたりします。
Definition: DiarkisRoomBase.cpp:1104
Diarkis::Modules::IDiarkisRoom::UpdateObject() によってオブジェクトを更新する際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1228
virtual void SetupTcpGroup(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
TCPプロトコルでGroupをセットアップします。
Definition: DiarkisGroupBase.cpp:35
ルームに参加したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:594
void SendRandomJoinGroup(uint16_t ttl, const char *message, uint32_t interval=200)
参加できるグループがあれば、そのグループに参加し、そうでない場合は新しいグループを作成します。
Definition: DiarkisInterfaceBase.cpp:1057
Roomを退出したり、Roomのプロパティを更新する際のコールバックイベント用の引数
Definition: eventArgs.h:699
Diarkis::StdString myUid_
私のユーザーID
Definition: DiarkisP2PBase.h:479
virtual void OnHostMatchmaking(const DiarkisMMHostEventArgs &e)
マッチングがホストとして開始されたときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:176
bool IsSuccess() const
コマンドが成功したか失敗したかを取得します。
Diarkis::StdUniquePtr< const char *[]> GetCharPtrArray(const Diarkis::StdVector< Diarkis::StdString > &vec)
Definition: string.cpp:366
ConnectState groupConnect_
グループ接続状況
Definition: DiarkisGroupBase.h:415
AsyncGetEndpointStatus GetEndpointAsyncStatus() const
サーバーエンドポイントを非同期で取得するプロセスの進行状況を取得する
Definition: DiarkisInterfaceBase.cpp:533
AsyncGetEndpointStatus asyncGetEndpointStatus_
エンドポイントを非同期で取得するプロセスの進行状況
Definition: DiarkisInterfaceBase.h:1538
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void SendLeaveMatchmaking(const uint8_t *message, size_t messageSize)
ゲストとしてマッチメイキングから退出します。
Definition: DiarkisMatchMakerBase.cpp:781
const StdVector< Diarkis::StdString > & GetMemberIDs() const
マッチしたメンバーのユーザーIDを取得します。
チャットメッセージデータを、送信者のユーザーIDおよびタイムスタンプ(ミリ秒単位)とともに表します。
Definition: eventArgs.h:126
Diarkis::StdString GetGroupID()
参加しているグループのGroup IDを取得します。
Definition: DiarkisGroupBase.cpp:127
virtual void Setup(const std::shared_ptr< LoggerFactory > &loggerFactory)
セットアップ関数
Definition: DiarkisTcpBase.cpp:29
virtual void ConnectClient(const char *uid, const char **address, size_t addressCount, size_t timeoutInMilliseconds=5000, bool bBuffering=true)
指定されたユーザーIDへのP2P接続を試みます。
Definition: DiarkisP2PBase.cpp:101
virtual void OnRoomUpdateSyncProperties(const DiarkisRoomPropertiesEventArgs &e)
UpdateProperties でプロパティが更新されたときに呼び出されるコールバック関数です。
Definition: DiarkisRoomBase.cpp:553
virtual void RSend(const char *uid, const uint8_t *message, size_t messageSize)
信頼性のある通信を使用して指定されたユーザーに直接メッセージを送信します。
Definition: DiarkisDirectMessageBase.cpp:112
virtual bool SetupUdp(void)
DiarkisUdpBaseクラスを初期化する
Definition: DiarkisInterfaceBase.cpp:568
@ UDP_JOIN
UDPによって接続されました
Definition: protocol.h:83
virtual ~DiarkisTcpBase()
DiarkisTcpBaseデストラクタ
Definition: DiarkisTcpBase.cpp:24
bool IsEncryptionEnabled() const
Diarkis::StdString roomID_
参加しているRoomのRoom ID
Definition: DiarkisRoomBase.h:1044
@ CONSOLE_OUT
Definition: DiarkisInterfaceBase.h:38
MatchMakerのSearchまたはTeamSearchが実行された時に呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:1742
virtual void OnRoomRegister(const DiarkisRoomPayloadEventArgs &e)
参加中のRoomに追加情報が登録されたときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:589
bool IsFind()
FindRoomsByType によって Room が見つかったかどうか
Definition: DiarkisRoomBase.cpp:216
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void OnRoomReserve(const DiarkisRoomPayloadEventArgs &e)
Reserveに対する応答を受け取った時に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:640
virtual void OnTicketComplete(const DiarkisMMResponseEventArgs &e)
IssueTicket によって処理されたチケットが完了したときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:541
const Diarkis::StdString & GetGroupID() const
グループIDを取得する
const char * GetVariableName() const
ソースコードで定義された変数名を取得します。
void GetGlobalAddress(Diarkis::StdString &address)
自分の外部IPアドレスを取得します。
Definition: DiarkisUdpBase.cpp:207
DiarkisThreadPriority
スレッドの優先度を表す
Definition: Thread.h:27
const StdVector< std::shared_ptr< RoomChatData > > & GetChatLists() const
チャットメッセージの履歴を取得する
Diarkis::StdString ticketMessage_
チケットによるマッチングが完了した際のメッセージ
Definition: DiarkisMatchMakerBase.h:1141
void Update(bool forceUpdate)
すべてのインスタンスの更新プロセスを実行します。
Definition: DiarkisInterfaceBase.cpp:1317
void SetHost(const char *host)
接続するためのHTTPサーバーアドレスを設定する
Definition: DiarkisInterfaceBase.cpp:223
virtual void OnSessionInfo(const DiarkisSessionInfoEventArgs &e)
参加しているセッションの情報を取得した時に呼び出されるコールバックイベント。
Definition: DiarkisSessionBase.cpp:226
virtual bool SendKick(const char *userID)
指定されたユーザーをマッチメイキングから強制的に退出させます。
Definition: DiarkisMatchMakerBase.cpp:846
virtual void SetupTcpSession(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
TCPプロトコルでセッションを設定します。
Definition: DiarkisSessionBase.cpp:65
@ FAIL_JOIN
参加に失敗しました
Definition: protocol.h:104
virtual void SendFindByTypeRoom(uint32_t roomType, uint32_t limit)
同じタイプのRoomを検索します。
Definition: DiarkisRoomBase.cpp:1007
uint16_t GetPort() const
ピアのポート番号を取得する
Diarkis::StdString GetUserID() const
ユーザーIDを取得する
Definition: DiarkisSessionBase.cpp:173
void SetOwnUID(const char *uid)
ユーザーIDを設定します
Definition: DiarkisMatchMakerBase.cpp:701
Diarkis::StdString host_
接続するHTTPサーバーのアドレス
Definition: DiarkisInterfaceBase.h:1365
virtual void SendKick(uint8_t sessionType, const char *userID)
セッションメンバーをキックする
Definition: DiarkisSessionBase.cpp:111
Diarkis::StdString sid_
セッションID
Definition: DiarkisInterfaceBase.h:1397
DiarkisConnectStatus
サーバーとの接続状態
Definition: eventArgs.h:139
const Diarkis::StdString & GetTicketMessage(void)
チケットによるマッチングが完了した際に受信したメッセージを取得します。
Definition: DiarkisMatchMakerBase.cpp:667
セッション情報を受信したときにコールバックイベントが呼び出される際の引数
Definition: eventArgs.h:2022
void Disconnect()
UDPサーバーを切断します。
Definition: DiarkisUdpBase.cpp:496
void SendJoinGroup(const char *groupID, const char *message)
既存のグループに参加します。
Definition: DiarkisInterfaceBase.cpp:1045
bool SendMigrate(void)
現在の接続を別のサーバーに変更しようとします。
Definition: DiarkisTcpBase.cpp:183
Diarkis::StdString serverType
Definition: DiarkisInterfaceBase.h:1505
virtual void OnGroupMemberJoin(DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e)
他のメンバーがグループに参加したときに呼び出されるコールバック関数。
Definition: DiarkisGroupBase.cpp:189
uint16_t GetCommand() const
コマンドIDを取得する
DiarkisUdpDisconnectionReason
UDPサーバーから切断された理由
Definition: udp.h:35
virtual void OnMemberSync(const DiarkisMMSyncEventArgs &e)
マッチングされたメンバーからメッセージが送信された際にトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:257
std::shared_ptr< IDiarkisGroup > group_
IDiarkisGroupクラスへのポインタ
Definition: DiarkisGroupBase.h:367
@ NOT_CONNECTED
接続前
Definition: protocol.h:48
virtual void SendGetMemberIDs(void)
Roomに参加しているメンバーのユーザーIDのリストを取得します。
Definition: DiarkisRoomBase.cpp:871
セッション招待を受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1980
virtual void OnRoomGetProperties(const DiarkisRoomPropertiesEventArgs &e)
GetPropertiesでプロパティが取得されたときに呼び出されるコールバック関数。
Definition: DiarkisRoomBase.cpp:539
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerへのポインタ
Definition: DiarkisRpcBase.h:160
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
サーバーからプッシュを受信したときにトリガーされるコールバック関数
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)
ホストとしてチームマッチメイキングを開始します。
Definition: DiarkisMatchMakerBase.cpp:861
virtual void SetupRoom(bool bRetry=false)
Definition: DiarkisInterfaceBase.cpp:722
uint16_t GetCurrentMembers() const
セッションに参加しているメンバーの数を取得する
uint8_t GetSessionType() const
セッションのタイプを取得する
ConnectState roomConnect_
Roomの状態
Definition: DiarkisRoomBase.h:1052
bool ConnectDualModeAsync(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
ソケットデュアルモード(IPv6の明示的サポート)を使用して非同期でサーバーに接続を試みます。 接続が成功した場合、GetConnectedEventが呼び出されます。 このメソッドでサーバーに接続する...
Definition: DiarkisUdpBase.cpp:169
virtual void SendCreateRoom(uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
新しいRoomを作成します。
Definition: DiarkisRoomBase.cpp:790
void Stop()
ランタイムスレッドを停止する
Definition: DiarkisInterfaceBase.cpp:102
virtual void SetupTcp(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
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)
RuntimeLoopで更新されるリストからDiarkisInterfaceBaseのインスタンスを削除します。
Definition: DiarkisInterfaceBase.cpp:1302
static bool DiarkisInit(const char *logDirName, LogOutType out=DEBUG_OUT, bool bLog=true, std::shared_ptr< ILoggerBackend > customLogger=nullptr)
Diarkisの初期化
Definition: DiarkisInterfaceBase.cpp:121
void RegisterRoom(uint32_t roomType, const char *roomName, const char *roomMetadata)
参加しているRoomに関する追加情報を登録します。
Definition: DiarkisInterfaceBase.cpp:989
std::shared_ptr< DiarkisFieldBase > fieldBase_
DiarkisFieldBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1325
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
@ Debug
Displays debug, info, warning, error, and fatal level
const Diarkis::StdString & GetOwnerID() const
ルームの所有者のユーザーIDを取得する
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
P2P関連のイベントがスケジューラに追加されたときに呼び出されるプロセスを設定します。
Definition: DiarkisP2PBase.cpp:355
virtual void SendFieldDisappear()
Definition: DiarkisFieldBase.cpp:177
virtual void SendIssueTicket(uint8_t ticketType)
サーバーにチケットを発行してマッチメイキングを開始するようにリクエストします。
Definition: DiarkisMatchMakerBase.cpp:905
static Diarkis::System::Result GetEndpointAsync(void *owner)
RequestEndpointAsync() によって実行されるスレッド
Definition: DiarkisInterfaceBase.cpp:549
Room機能のインターフェースクラス
Definition: room.h:25
virtual void SendGetChatLog(void)
過去のチャットメッセージを取得する。
Definition: DiarkisRoomBase.cpp:1184
bool GetAsyncConnectResult(System::Result &result) const
非同期接続プロセスの結果を取得します。
Definition: DiarkisUdpBase.cpp:280
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインタ
Definition: DiarkisRoomBase.h:1028
DIARKIS_EXPORT IDiarkisGroup * DiarkisCreateGroup()
IDiarkisDirectMessageクラスを作成します。
@ ROOM_FIND
FindByType によって見つかる Room
Definition: protocol.h:55
std::shared_ptr< DiarkisUdpBase > GetUdpBase()
DiarkisUdpBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1124
void RegisterPeer(const Diarkis::StdString &uid, const std::shared_ptr< Peer > &p2p)
IDiarkisP2Pインスタンスを登録します
Definition: DiarkisP2PBase.cpp:471
const StdVector< Diarkis::StdString > & GetMemberIDs() const
ルームメンバーのユーザーIDのリストを取得する
virtual void Send(const char *uid, const uint8_t *message, size_t messageSize)
指定されたユーザーに直接メッセージを送信します。
Definition: DiarkisDirectMessageBase.cpp:94
static std::shared_ptr< Diarkis::StdString > logDir_
ログ出力ディレクトリ名
Definition: DiarkisInterfaceBase.h:1413
virtual void OnRoomJoin(const DiarkisRoomJoinEventArgs &e)
Roomに参加した時に呼ばれるコールバック関数
Definition: DiarkisRoomBase.cpp:334
bool CreateDirectoryNX64(Diarkis::StdString dir)
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインター
Definition: DiarkisFieldBase.h:227
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual void OnCompleteCommit(const DiarkisMMJoinResponseEventArgs &e)
Commitが実行されたときにチームメンバーに呼び出されるコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:425
std::shared_ptr< IDiarkisRoom > GetRoom()
IDiarkisRoomクラスへのポインタを取得します。
Definition: DiarkisRoomBase.cpp:201
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void SendBroadcastToRoom(const uint8_t *payload, size_t payloadSize, bool reliable)
自分自身を含むすべてのRoomメンバーにメッセージを送信する。
Definition: DiarkisRoomBase.cpp:900
const Diarkis::StdString & GetUnresolvedAddress() const
ピアの未解決のアドレスを取得する
virtual void SetupUdpSession(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
UDPプロトコルを使用したセッションの設定。
Definition: DiarkisSessionBase.cpp:29
virtual void SendCreateGroup(bool allowEmpty, bool join, uint16_t ttl)
新しいグループを作成します。
Definition: DiarkisGroupBase.cpp:216
virtual void OnP2PAddress(const DiarkisP2PEventArgs &e)
P2Pを開始するときにトリガーされるコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:335
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
Definition: DiarkisInterfaceBase.h:1202
ConnectState fieldConnect_
Fieldの状態
Definition: DiarkisFieldBase.h:243
const StdVector< std::shared_ptr< MatchMakerResultItem > > & GetResultItem() const
マッチメイキング検索結果を取得する
bool SendEcho(void)
UDPサーバーにエコーを送信します。
Definition: DiarkisUdpBase.cpp:311
DIARKIS_EXPORT System::Result NOTHING_DONE
特定の条件により、呼び出しは何も行いません。 (status: TEMPORARY, value: 0xBC001052)
std::shared_ptr< LoggerFactory > loggerFactory_
LoggerFactoryへのポインタ
Definition: DiarkisInterfaceBase.h:1429
virtual void OnAbortMatchmaking(const DiarkisMMResponseEventArgs &e)
マッチング対象から離れた際にトリガーされるコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:194
bool ConnectTcp(void)
TCPサーバーに接続する。
Definition: DiarkisInterfaceBase.cpp:398
DiarkisTransportType
プロトコルタイプ
Definition: transport.h:27
virtual void SendDisbandMatchmaking(const uint8_t *message, size_t messageSize)
現在のマッチメイキングを破棄します。 参加ユーザーは解散されます。
Definition: DiarkisMatchMakerBase.cpp:745
uint32_t GetRoundTripMs() const
ラウンドトリップタイムを取得する(ミリ秒)
MatchMakerの応答が受信されたときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1598
virtual void OnRoomCancelReserve(const DiarkisRoomPayloadEventArgs &e)
CancelReservationへの応答を受信した時に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:655
uint16_t GetErrorCode() const
エラーコードを取得します。
void Update()
クライアントライブラリ内でTCP処理を呼び出すアップデート機能。定期的に呼び出す必要があります。
Definition: DiarkisTcpBase.cpp:315
std::shared_ptr< LoggerFactory > loggerFactory_
ロガークラスへのポインター
Definition: DiarkisP2PBase.h:447
void Stop()
更新ループを停止する
Definition: DiarkisInterfaceBase.cpp:1400
virtual void OnLeave(const DiarkisMMResponseEventArgs &e)
マッチメイキングを離れるときにトリガーされるコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:273
virtual void SendReserveRoom(const char **userIDs, size_t userIDsCount)
ルームに参加するメンバーを予約します。
Definition: DiarkisRoomBase.cpp:1125
bool bOffline_
サーバーがシャットダウンの準備をしているかどうか
Definition: DiarkisTcpBase.h:260
virtual void OnKick(const DiarkisPayloadEventArgs &e)
特定のメンバーがマッチングからホストによってキックされたときに発生するコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:397
void GetPeerUids(Diarkis::StdVector< Diarkis::StdString > &output)
P2Pで接続されたピアのユーザーIDを取得します。
Definition: DiarkisP2PBase.cpp:172
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
const StdVector< RoomListItem > & GetRoomListItem() const
検索ヒットのRoomのリスト
const Diarkis::StdString & GetHostID() const
ホストのユーザーIDを取得します。
virtual void OnP2PFail(const DiarkisFailEventArgs &args)
ホールパンチが失敗したときに呼び出されるコールバックイベントです。
Definition: DiarkisP2PBase.cpp:267
AuthInfo asyncAuthResult_
エンドポイントを非同期で取得するプロセスの結果
Definition: DiarkisInterfaceBase.h:1562
DiarkisP2PBase()
DiarkisP2PBaseコンストラクタ
Definition: DiarkisP2PBase.cpp:68
std::shared_ptr< ILoggerBackend > GetConsoleLoggerBackend()
コンソール出力ログを取得する(現在は未使用)
Definition: DiarkisInterfaceBase.cpp:1109
DiarkisUdpBase()
DiarkisUdpBaseのコンストラクタ
Definition: DiarkisUdpBase.cpp:20
virtual void OnMemberLeave(const DiarkisMMSyncEventArgs &e)
マッチしたメンバーがRoomを去ったときに発生するコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:218
Roomのメンバー数を取得した際に呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:971
virtual void SetupRpc(const char *uid, const std::shared_ptr< IDiarkisRoom > &room, const std::shared_ptr< LoggerFactory > &loggerFactory)
RPCを設定します。
Definition: DiarkisRpcBase.cpp:30
virtual void Disconnect(const char *uid, const uint8_t *message, size_t messageSize)
指定されたユーザーからダイレクトメッセージ経由で切断し、カスタムメッセージを送信します。
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
エラーコードを取得します。
std::atomic< bool > isRunning_
ランタイムループ終了フラグ
Definition: DiarkisInterfaceBase.h:1159
virtual void OnIssueTicketResponse(const DiarkisMMResponseEventArgs &e)
IssueTicketへの応答をサーバーから受け取ったときに発生するイベントを取得します。
Definition: DiarkisMatchMakerBase.cpp:527
Diarkis::StdString clientKey
Definition: DiarkisInterfaceBase.h:1504
virtual void OnSessionJoinResponse(const DiarkisSessionResponseEventArgs &e)
SendJoinを送信した際にサーバーからの応答を受け取った際のコールバックイベント。
Definition: DiarkisSessionBase.cpp:269
virtual void SendTicketBroadcast(uint8_t ticketType, const uint8_t *message, size_t messageSize)
チケットで一致するクライアントにメッセージをブロードキャストします。 *
Definition: DiarkisMatchMakerBase.cpp:931
Diarkis::StdString ownGlobalAddress_
私のグローバルIPアドレス
Definition: DiarkisUdpBase.h:478
std::recursive_mutex p2pListMutex_
P2PリストMutex
Definition: DiarkisP2PBase.h:431
uint64_t timeStamp
Definition: eventArgs.h:129
void SendMigrateRoom(void)
ルームを別のサーバーに移動します。
Definition: DiarkisInterfaceBase.cpp:1007
virtual void OnTeamMemberJoin(const DiarkisMMSyncEventArgs &e)
別のクライアントが成功裏にマッチングして入室したときにトリガーされるコールバック関数。
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)
参加しているRoomのRoom IDを取得します。
Definition: DiarkisRoomBase.cpp:250
Diarkis::StdString groupID_
グループID
Definition: DiarkisGroupBase.h:391
virtual void SendFieldLeave()
フィールドを離れることを通知します。
Definition: DiarkisFieldBase.cpp:187
void AddInstance(DiarkisInterfaceBase *ptr)
DiarkisInterfaceBaseのインスタンスを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)
サーバーからのpingを受信したときに呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:396
void InitAndStartup(bool bInitBaseClass)
ログと各モジュールのクラスを初期化する
Definition: DiarkisInterfaceBase.cpp:182
std::shared_ptr< DiarkisRoomBase > GetRoomBase()
DiarkisRoomBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1134
特定の結果値に関する情報を含んでいます。 別のResult構造体と比較することができます。デバッグ体験を向上させるためにテキスト形式で出力することも可能です。
Definition: result.h:37
const StdVector< uint8_t > & EncryptionIv() const
bool HasSession(uint8_t sessionType) const
少なくとも1つのセッションに参加しているかどうかをチェックします。
Definition: DiarkisSessionBase.cpp:101
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
DiarkisThreadPriority priority
Definition: Thread.h:91
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
サーバーから応答を受信した時にトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:575
std::shared_ptr< DiarkisP2PBase > GetP2PBase()
DiarkisP2PBase クラスを取得する
Definition: DiarkisInterfaceBase.cpp:1129
const char * GetFullyQualifiedVariableName() const
ソースコードで定義されたネームスペースと接頭辞付きの完全修飾変数名を取得します。
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
TCP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。
Definition: DiarkisTcpBase.cpp:323
virtual void SetupMatchMaker(void)
MatchMaker機能の設定関数
Definition: DiarkisInterfaceBase.cpp:1077
std::shared_ptr< DiarkisSessionBase > GetSessionBase()
DiarkisSessionBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1139
Diarkis::StdString GetGroupID()
参加しているGroupのIDを取得する。
Definition: DiarkisInterfaceBase.cpp:1179
MatchMaker機能のためのインターフェースクラス
Definition: matchMaker.h:39
std::function< void()> schedulerAddNotifyEventFunc_
TCP 関連のイベントが追加されたときに呼び出されるコールバック関数
Definition: DiarkisTcpBase.h:252
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void OnLeave(const DiarkisSuccessEventArgs &e)
フィールドから退出するときに呼び出される応答コールバックイベントです。
Definition: DiarkisFieldBase.cpp:122
void Disconnect()
TCPサーバーから切断する
Definition: DiarkisTcpBase.cpp:303
void Update()
クライアントライブラリ内のUDP処理を呼び出す更新関数。定期的に呼び出す必要があります。
Definition: DiarkisUdpBase.cpp:509
const Diarkis::StdString & GetResolvedAddress() const
ピアの解決されたアドレスを取得します
virtual void SendJoinRoom(const char *uid)
ルームに参加します。
Definition: DiarkisRoomBase.cpp:809
bool IsConnected()
TCPサーバーに接続しているかどうか
Definition: DiarkisTcpBase.cpp:290
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
uint16_t GetPort() const
ピアのポート番号を取得します
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
void SetSid(const char *sid)
SIDを設定する
Definition: DiarkisInterfaceBase.cpp:268
const Diarkis::StdString & GetRoomID() const
ルームIDを取得する
virtual void OnSessionKick(const DiarkisSessionNotificationEventArgs &e)
セッションからキックされた時のコールバックイベント。
Definition: DiarkisSessionBase.cpp:239
スレッド起動のためのパラメータ
Definition: Thread.h:85
virtual void OnSessionCreateResponse(const DiarkisSessionCreateResponseEventArgs &e)
Sessionが作成されたときに呼び出されるコールバックイベント、イベントの内容はSession IDです。
Definition: DiarkisSessionBase.cpp:183
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
Definition: rpcModule.h:21
void Update()
接続の状態やその他の情報を更新するための関数。定期的に呼び出す必要があります。
Definition: DiarkisP2PBase.cpp:337
Diarkis::StdString GetSid() const
SIDを取得する
Definition: DiarkisInterfaceBase.cpp:257
virtual void SendBroadcastToGroup(const uint8_t *payload, size_t payloadSize, bool reliable)
すべての参加グループのすべてのユーザーにブロードキャストを送信します。
Definition: DiarkisGroupBase.cpp:314
void GetMatchingMemberList(Diarkis::StdVector< Diarkis::StdString > &memberList)
マッチしたメンバーを取得する
Definition: DiarkisMatchMakerBase.cpp:684
void SendEcho(void)
UDPサーバーにエコーを送信します
Definition: DiarkisInterfaceBase.cpp:872
Diarkis::StdString messageFromUid_
最新の受信メッセージの送信元のユーザーID
Definition: DiarkisGroupBase.h:407
uint16_t GetErrorCode() const
エラーコードを取得します。
bool IsReliable() const
通信がRUDPだったかどうか
virtual void SetupGroup(bool bRetry)
Group関数のセットアップ関数です
Definition: DiarkisInterfaceBase.cpp:805
@ RELIABLE_ORDERED
パケットの配信と順序保証
Definition: p2p.h:43
void SendCreateGroup(bool allowEmpty, bool join, uint16_t ttl)
新しいグループを作成します。
Definition: DiarkisInterfaceBase.cpp:1033
DiarkisDirectMessageBase()
DiarkisDirectMessagecBaseのコンストラクタ
Definition: DiarkisDirectMessageBase.cpp:17
void TerminateGetEndpointAsyncThread()
エンドポイント非同期プロセスの取得スレッドを終了する
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)
現在いるセッションにユーザーを招待します。
Definition: DiarkisSessionBase.cpp:336
std::shared_ptr< IDiarkisTcp > Get()
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
受信したペイロードを取得する
std::shared_ptr< DiarkisMatchMakerBase > matchMakerBase_
DiarkisMatchMakerBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1333
static ActiveInstanceList activeInstances_
アクティブインスタンスのリストです。
Definition: DiarkisInterfaceBase.h:1253
const Diarkis::StdVector< uint8_t > & GetPayload() const
受信したペイロードを取得する
void RegisterSchedulerAddNotifyEvent(std::function< void(void *, void *)> lambda)
Definition: DiarkisP2PBase.cpp:62
virtual void OnTicketCancel(const DiarkisMMTicketTypeEventArgs &e)
TicketCancelが受信されたときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:556
virtual void SendAbortMatchmaking(void)
マッチメイキング検索から除外されます。マッチメイキングは破棄されず、参加メンバーは残ります。
Definition: DiarkisMatchMakerBase.cpp:732
const Diarkis::StdString & GetUID() const
相手のユーザーIDを取得する
const Diarkis::StdString & GetObjectName() const
更新されたオブジェクト名を取得する
virtual void OnConnect(const DiarkisConnectionEventArgs &args)
サーバーに接続する際に呼び出されるコールバック関数です。
Definition: DiarkisTcpBase.cpp:196
static bool DiarkisDestroy()
Diarkis終了処理
Definition: DiarkisInterfaceBase.cpp:156
Roomの移行が完了した際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:647
const Diarkis::StdString & GetPropertyName() const
プロパティ名を取得する
bool bReserved_
あなたがRoomを予約したかどうか
Definition: DiarkisRoomBase.h:1100
void SendMessageToRoom(const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
特定のメンバーにメッセージを送信します。
Definition: DiarkisInterfaceBase.cpp:967
std::shared_ptr< IDiarkisField > field_
IDiarkisFieldクラスへのポインタ
Definition: DiarkisFieldBase.h:219
std::shared_ptr< DiarkisSessionBase > sessionBase_
DiarkisSessionBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1309
std::shared_ptr< IDiarkisUdp > Get()
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)
参加フィールド。
Definition: DiarkisFieldBase.cpp:142
セッション作成応答を受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1892
void SetUserID(const char *userID)
ユーザーIDを設定する
Definition: DiarkisSessionBase.cpp:163
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインタ
Definition: DiarkisTcpBase.h:236
const Diarkis::StdString & GetUnresolvedAddress() const
ピアの未解決のアドレスを取得する
サーバーへの接続時のコールバックイベントの引数
Definition: eventArgs.h:153
DIARKIS_EXPORT IDiarkisTcp * DiarkisCreateTcp(size_t heartbeatInterval=5000)
IDiarkisTcpクラスを作成します。
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)
ホストとして予約されたマッチングに参加します。
Definition: DiarkisMatchMakerBase.cpp:757
uint32_t affinityMask
CPU affinity mask
Definition: Thread.h:97
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインタ
Definition: DiarkisSessionBase.h:487
const StdVector< std::shared_ptr< P2PClientAddr > > & GetAddresses() const
ピアのアドレスを取得する
Diarkis::StdString ownUid_
ユーザーID
Definition: DiarkisRpcBase.h:168
const Diarkis::StdString uid_
自分のユーザーID
Definition: DiarkisInterfaceBase.h:1381
Diarkis::Modules::IDiarkisRoom::FindRoomsByType()の結果を受け取った際に呼ばれるコールバックイベントの引数
Definition: eventArgs.h:1092
const Diarkis::StdString & GetTicketBroadcastMessage(void)
受信したブロードキャストメッセージを取得します。
Definition: DiarkisMatchMakerBase.cpp:671
ルームが作成されたときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:533
Diarkis::StdString groupMessage_
受信した最新のメッセージ
Definition: DiarkisGroupBase.h:399
std::shared_ptr< IDiarkisLogger > logger_
ロガークラスへのポインター
Definition: DiarkisInterfaceBase.h:1421
std::shared_ptr< ILoggerBackend > GetDebugLoggerBackend()
デバッグ出力ログを取得する
Definition: DiarkisInterfaceBase.cpp:1114
virtual void OnChatSyncResponse(const DiarkisRoomPayloadEventArgs &e)
チャット送信の応答を受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:669
void SetJoinRoomID(const char *roomID)
Room IDを設定します。
Definition: DiarkisRoomBase.cpp:260
Diarkis::StdString ownUID_
自分のユーザーID
Definition: DiarkisRoomBase.h:1076
DIARKIS_EXPORT IDiarkisDirectMessage * DiarkisCreateDirectMessage()
IDiarkisDirectMessageクラスを作成します。
static std::shared_ptr< ILoggerBackend > fileLoggerBackend_
ファイル出力用のロガー
Definition: DiarkisInterfaceBase.h:1461
const char * GetDescription() const
結果値に関連するより長く詳細なメッセージを取得します。
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void OnP2PDisconnect(const DiarkisP2PDisconnectEventArgs &args)
P2P接続が切断された際に呼び出されるコールバックイベント
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)
プロファイルIDを使用してマッチメイキングを検索します。
Definition: DiarkisMatchMakerBase.cpp:887
virtual void OnRoomObjectUpdateResponse(const DiarkisRoomObjectUpdateResponseEventArgs &e)
Roomオブジェクトの更新に対する応答が受信されたときに呼び出されるコールバックイベントです。
Definition: DiarkisRoomBase.cpp:774
void GetTeamMatchingMemberList(Diarkis::StdVector< Diarkis::StdString > &memberList)
チームマッチングでマッチしたメンバーを取得する
Definition: DiarkisMatchMakerBase.cpp:690
const StdVector< uint8_t > & GetPayload() const
受信したペイロードを取得する
#define DIARKIS_AUTHKEY_LEN
Definition: common.h:57
マッチメイキングの検索条件
Definition: matchMaker.h:25
virtual void OnRoomMigrateComplete(const DiarkisRoomMigrateCompleteEventArgs &e)
Roomの移行が完了したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:485
bool SetSendThreadParam(const DiarkisThreadScheduler &scheduler)
UDP送信スレッドの優先度を指定します。
Definition: DiarkisUdpBase.cpp:230
virtual void SendLeaveGroup(const char *groupID, const uint8_t *message, size_t messageSize)
指定されたグループから離脱する。
Definition: DiarkisGroupBase.cpp:296
MatchMaker push 受信時に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1642
@ FILE_OUT
Definition: DiarkisInterfaceBase.h:36
bool noWait_
条件変数を使用して待機する必要があるかどうか。
Definition: DiarkisInterfaceBase.h:1191
std::condition_variable sync_condition_
プロセス起動のタイミングを制御するために使用される条件変数。
Definition: DiarkisInterfaceBase.h:1183
マッチメイカーの検索結果を含む構造体
Definition: eventArgs.h:64
virtual void SendJoin(uint8_t sessionType, const char *sessionID)
セッションに参加する
Definition: DiarkisSessionBase.cpp:130
const StdVector< std::uint8_t > & GetPayload() const
受信したペイロードを取得する
virtual void SendMessageTo(uint8_t sessionType, const char **uids, size_t uidsCount, const uint8_t *message, size_t messageSize)
特定のメンバーにメッセージを送信する
Definition: DiarkisSessionBase.cpp:405
bool SendHeartbeat(void)
TCPサーバーにハートビートを送信します。
Definition: DiarkisTcpBase.cpp:170
virtual void OnSessionKickResponse(const DiarkisSessionResponseEventArgs &e)
SendKick が送信された際にサーバーからのレスポンスを受け取った時のコールバックイベント。
Definition: DiarkisSessionBase.cpp:257
const Diarkis::StdString & GetResolvedAddress() const
ピアの解決されたアドレスを取得する
uint16_t GetErrorCode() const
エラーコードを取得します。
DirectMessageのインターフェースクラス
Definition: directMessage.h:24
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
static std::shared_ptr< LoggerFactory > globalLoggerFactory_
DiarkisInterfaceBaseのグローバルプロセスのロギングに使用されるLoggerFactory
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)
HTTPサーバーからサーバー接続情報を取得します
Definition: DiarkisInterfaceBase.cpp:452
bool SendMigrate(void)
現在の接続を別のサーバーに変更しようとします。
Definition: DiarkisUdpBase.cpp:325
virtual uint16_t SendUnicast(const uint8_t *payload, size_t payloadSize, RudpType type, const char *uid)
1つのピアにメッセージを送信します。
Definition: DiarkisP2PBase.cpp:368
Diarkis::StdString serverType_
サーバータイプ
Definition: DiarkisInterfaceBase.h:1389
std::shared_ptr< DiarkisGroupBase > GetGroupBase()
DiarkisGroupBaseクラスを取得します
Definition: DiarkisInterfaceBase.cpp:1144
bool IsSuccess() const
コマンドの成功または失敗を取得します。
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
int64_t convertMS(uint32_t sec)
Definition: misc.cpp:392
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual void SetupField(void)
Field関数のセットアップ関数
Definition: DiarkisInterfaceBase.cpp:781
void ClearList(void)
メンバーのリストを空にする。
Definition: DiarkisMatchMakerBase.cpp:45
virtual void OnSessionBroadcast(const DiarkisSessionNotificationEventArgs &e)
ブロードキャストを受信した際のコールバックイベント
Definition: DiarkisSessionBase.cpp:214
RoomObjectMode GetMode() const
更新に使用されるモードを取得します。
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
Diarkis::StdString GetOwnerUID(void)
参加しているRoomのオーナーのユーザーIDを取得します。
Definition: DiarkisRoomBase.cpp:240
void CreateRoom(uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval)
新しいRoomを作成します。
Definition: DiarkisInterfaceBase.cpp:924
const RoomChatData & GetChatData() const
チャットメッセージデータを取得する
ConnectState
接続状態
Definition: protocol.h:40
std::shared_ptr< DiarkisTcpBase > GetTcpBase()
DiarkisTcpBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1119
virtual void SetupProfile(uint32_t interval, uint32_t buffer, bool p2pRandomStart=true)
プロファイル機能の設定
Definition: DiarkisInterfaceBase.cpp:853
P2P接続が失敗したときにコールバックイベントが呼び出されるときの引数
Definition: eventArgs.h:354
const Diarkis::StdUnorderedMap< Diarkis::StdString, StdVector< uint8_t > > & GetProperties() const
Roomのプロパティ(プロパティ名とその値)を取得します
Diarkis::StdString asyncEndpointResult_
エンドポイントを非同期で取得するプロセスの結果
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)
UDPサーバーと接続します
Definition: DiarkisUdpBase.cpp:99
const Diarkis::StdString & GetRoomID() const
ルームIDを取得する
@ Warning
Displays warning, error, and fatal level
virtual void OnRoomFindByType(const DiarkisRoomFindByTypeEventArgs &e)
FindRoomsByTypeの検索結果を受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:602
void SetSchedulerAddNotifyEvent(std::function< void()> notifyEventFunc)
UDPに関連するイベントがスケジューラに追加された時に実行される関数を設定します。
Definition: DiarkisUdpBase.cpp:517
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisSessionBase.cpp:13
@ DEBUG_OUT
Definition: DiarkisInterfaceBase.h:35
const Diarkis::StdString & GetPropertyName() const
プロパティの名前を取得する
virtual void SetupUdp(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
UDPプロトコルでDirectMessageを設定します。
Definition: DiarkisDirectMessageBase.cpp:49
AsyncGetEndpointArgs asyncGetEndpointArgs_
エンドポイントプロセスを非同期で取得する際の引数
Definition: DiarkisInterfaceBase.h:1530
virtual void OnSessionMessageToResponse(const DiarkisSessionResponseEventArgs &e)
SendMessageToを送信した際にサーバーからの応答を受信したときのコールバックイベント。
Definition: DiarkisSessionBase.cpp:281
virtual void OnRoomCreation(const DiarkisRoomCreationEventArgs &e)
Roomが作成されたときに呼び出されるコールバック関数。
Definition: DiarkisRoomBase.cpp:297
virtual void OnRoomRelayTo(const DiarkisPayloadEventArgs &e)
RelayToによってメッセージを受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:521
uint16_t GetErrorCode() const
エラーコードを取得します。
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)
UDPサーバーに接続するための情報を設定します
Definition: DiarkisUdpBase.cpp:522
const StdVector< StdString > & GetMemberIDs() const
セッションに参加しているメンバーのユーザーIDを取得する
std::shared_ptr< Diarkis::Network::IDiarkisProfile > GetProfile()
プロファイリング機能のためのインターフェースであるIDiarkisProfileクラスを取得します
Definition: DiarkisInterfaceBase.cpp:859
virtual void SendChatMessage(const char *message)
Roomメンバーにチャットメッセージを送信します。
Definition: DiarkisRoomBase.cpp:1168
std::shared_ptr< Diarkis::Network::IDiarkisProfile > profile_
IDiarkisProfileクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1357
Room OwnerのユーザーIDが取得されたときに呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:859
virtual void SendBroadcast(uint8_t sessionType, const uint8_t *message, size_t messageSize)
メッセージをブロードキャストする
Definition: DiarkisSessionBase.cpp:385
std::shared_ptr< DiarkisMatchMakerBase > GetMatchMakerBase()
DiarkisMatchMakerBase クラスを取得する
Definition: DiarkisInterfaceBase.cpp:1154
static LogOutType logOutType_
デバッグ出力のタイプ
Definition: DiarkisInterfaceBase.h:1485
void SendGetMemberIDs(void)
Roomに参加しているメンバーのユーザーIDのリストを取得します。
Definition: DiarkisInterfaceBase.cpp:1025
void GetAuthInfo(struct AuthInfo *auth)
GetEndpoint() で取得した AuthInfo を取得します。
Definition: DiarkisInterfaceBase.cpp:685
const Diarkis::StdVector< Diarkis::StdString > & GetRoomMembers() const
ルームのメンバーのユーザーIDを取得する。
Definition: DiarkisRoomBase.cpp:291
virtual void SendUpdateObject(RoomObjectMode mode, const std::string &name, const std::unordered_map< std::string, double > &obj, bool reliable=true)
Roomオブジェクトを更新します。
Definition: DiarkisRoomBase.cpp:1208
Diarkis::StdString myUid_
私のユーザーID
Definition: DiarkisMatchMakerBase.h:1069
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
const StdVector< uint8_t > & EncryptionKey() const
virtual void OnRoomGetOwnerID(const DiarkisRoomGetOwnerIDEventArgs &e)
参加中のRoomオーナーのユーザーIDが取得されたときに呼び出されるコールバック関数
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
コマンドが成功したかどうかを取得します。
const Diarkis::StdString & GetSessionID() const
セッションIDを取得する
uint32_t GetCreationTime() const
ルームが作成された時間を取得する
int64_t GetDelta() const
プロパティの値を増減させる
const Diarkis::StdString & GetResolvedAddress() const
ピアの解決されたアドレスを取得します
void SetClientKey(const char *clientKey)
接続先のクライアントキーを設定する
Definition: DiarkisInterfaceBase.cpp:251
std::mutex connectioninfoMutex_
GetEndpointメソッドで変更される変数用のミューテックス
Definition: DiarkisInterfaceBase.h:1514
const StdString & GetSessionID() const
セッションIDを取得する
Diarkis::StdString GetHost() const
HTTPサーバーアドレスを取得する
Definition: DiarkisInterfaceBase.cpp:229
void SendLeaveGroup(const char *groupID, const char *message)
指定されたグループから退出します。
Definition: DiarkisInterfaceBase.cpp:1069
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisUdpBase.cpp:16
int64_t createAtServer_
現在いるRoomがサーバー上で作成された時間
Definition: DiarkisRoomBase.h:1092
std::shared_ptr< IDiarkisRoom > room_
IDiarkisRoomクラスへのポインタ
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)
ホストとしてマッチメイキングを開始します。
Definition: DiarkisMatchMakerBase.cpp:712
Diarkis::StdString host
Definition: DiarkisInterfaceBase.h:1503
Diarkis::StdString GetSessionID(uint8_t sessionType) const
セッションIDを取得する
Definition: DiarkisSessionBase.cpp:410
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインター
Definition: DiarkisFieldBase.h:211
bool IsComplete(void)
マッチメイキングが完了したかどうか
Definition: DiarkisMatchMakerBase.cpp:650
LogOutType
ログ出力の種類
Definition: DiarkisInterfaceBase.h:33
virtual void SendUpdateProperties(const std::unordered_map< std::string, std::vector< uint8_t >> &properties, bool sync=false)
Roomのプロパティを設定します。
Definition: DiarkisRoomBase.cpp:1058
virtual void OnResutls(const DiarkisMMResultEventArgs &e)
マッチングの検索が完了したときに呼び出されるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:319
std::atomic< bool > internalSchedulerUpdated_
スケジューラが更新されている場合に有効になるフラグ
Definition: DiarkisInterfaceBase.h:1586
virtual void OnSessionLeaveResponse(const DiarkisSessionResponseEventArgs &e)
SendLeaveが送信された際にサーバーからのレスポンスを受信した際のコールバックイベントです。
Definition: DiarkisSessionBase.cpp:305
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual ~DiarkisSessionBase()
DiarkisSessionBase デストラクタ
Definition: DiarkisSessionBase.cpp:23
virtual void SendTicketLeave(uint8_t ticketType)
チケットで作成されたRoomから退出します。
Definition: DiarkisMatchMakerBase.cpp:939
Diarkis::StdString GetRoomID()
参加しているRoomのRoom IDを取得します。
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)
UpdatePropertiesでプロパティが更新されるときに呼び出されるコールバック関数。
Definition: DiarkisRoomBase.cpp:527
virtual void OnBackfillEvent(const DiarkisMMResponseEventArgs &e)
マッチング検索にRoomが追加されたときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:391
virtual void OnEcho(const DiarkisUdpEchoEventArgs &args)
サーバーからエコーを受信した際に呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:383
std::shared_ptr< DiarkisRpcBase > GetRpcBase()
DiarkisRpcBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1159
virtual void OnTeamHostMatchmaking(const DiarkisMMHostEventArgs &e)
チームマッチングがホストとして開始されたときにトリガーされるコールバック関数です。
Definition: DiarkisMatchMakerBase.cpp:453
void RegisterExceptionEvent(std::function< void(void *, const DiarkisExceptionEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:56
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインター
Definition: DiarkisUdpBase.h:446
static void CreateLogFolder()
ログ出力先のフォルダを作成する
Definition: DiarkisInterfaceBase.cpp:274
virtual void OnRoomMigrateStart(void)
Room マイグレーションが開始されるときに呼び出されるコールバック関数。
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)
プロファイルIDを使用してマッチメイキングを検索します。
Definition: DiarkisMatchMakerBase.cpp:820
virtual void OnRoomChatLog(const DiarkisRoomChatLogEventArgs &e)
GetChatLogの応答を受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:688
uint16_t GetErrorCode() const
エラーコードを取得します。
DiarkisSessionBase()
DiarkisSessionBaseのコンストラクタ
Definition: DiarkisSessionBase.cpp:17
bool IsLeave()
あなたがRoomを去ったかどうか
Definition: DiarkisRoomBase.cpp:230
bool bComplete_
マッチングが完了しているかどうか
Definition: DiarkisMatchMakerBase.h:1117
static bool bOutputLog_
ログ出力するかどうか
Definition: DiarkisInterfaceBase.h:1493
virtual void SetupTcpField(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
TCPプロトコルでFieldをセットアップします。
Definition: DiarkisFieldBase.cpp:29
UDPまたはTCPのレスポンスを受信したときにコールバックイベントが呼び出される際の引数。
Definition: eventArgs.h:1365
virtual void SetupP2P(void)
P2P設定関数
Definition: DiarkisInterfaceBase.cpp:694
Diarkisライブラリを操作するインタフェースの基本クラス
Definition: DiarkisInterfaceBase.h:49
std::shared_ptr< IDiarkisMatchMaker > mm_
IDiarkisMatchMakerクラスへのポインタ
Definition: DiarkisMatchMakerBase.h:1005
uint8_t GetTicketType() const
チケットの種類を取得する
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual void OnSearch(const DiarkisMMJoinResponseEventArgs &e)
マッチング検索が完了したときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:294
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
static std::shared_ptr< ThreadedLoggerBackend > threadLoggerBackend_
集団出力用のスレッド化されたロガー
Definition: DiarkisInterfaceBase.h:1437
virtual void SendCancelReservationRoom(const char *cancelRoomID, const char **userIDs, size_t userIDsCount)
Roomの予約をキャンセルします。
Definition: DiarkisRoomBase.cpp:1146
virtual void OnSessionBroadcastResponse(const DiarkisSessionResponseEventArgs &e)
SendBroadcastを送信した時にサーバーからのレスポンスを受信した際のコールバックイベント。
Definition: DiarkisSessionBase.cpp:293
const char * GetVersion()
Definition: common.h:75
virtual void SendGetSessionInfoBySessionType(uint8_t sessionType)
指定されたセッションの情報を取得します。
Definition: DiarkisSessionBase.cpp:415
#define DIARKIS_ERROR_LOG(logger, severity, msg, code, errString)
Definition: Logger.h:9
virtual void OnRoomOwnerChange(const DiarkisRoomGetOwnerIDEventArgs &e)
Roomの所有者が変更された時に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:436
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcp クラスへのポインタ
Definition: DiarkisGroupBase.h:351
virtual void OnChatSync(const DiarkisRoomChatEventArgs &e)
チャットを受信した際に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:681
DiarkisThreadPolicy policy
Thread policy
Definition: Thread.h:93
virtual void OnDisappear(const Diarkis::StdString &remoteUid)
受信したときに呼び出されるコールバックイベント
Definition: DiarkisFieldBase.cpp:116
const Diarkis::StdString & GetClientAddress() const
クライアントのグローバルIPアドレスを取得する
Fieldのためのインターフェースクラス
Definition: field.h:25
TCP機能のためのインターフェースクラス
Definition: tcp.h:49
uint8_t GetVersion() const
コマンドバージョンを取得する
Definition: eventArgs.h:1817
virtual void OnTeamSearch(const DiarkisMMJoinResponseEventArgs &e)
チームマッチング検索が完了したときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:472
Diarkis::StdString ownerID_
RoomオーナーのユーザーID
Definition: DiarkisRoomBase.h:1084
@ RELIABLE_UNORDERED
パケットの配信を保証しますが、順序は固定されていません
Definition: p2p.h:36
virtual void SendStartP2PSync(uint8_t linkedClients=0)
Roomに参加しているメンバーとのP2P通信を開始します。
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)
セッションを離れる
Definition: DiarkisSessionBase.cpp:144
virtual void OnNotification(const DiarkisPushEventArgs &args)
サーバーからの通知を受信したときに呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:273
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual ~DiarkisFieldBase()
DiarkisFieldBaseデストラクタ
Definition: DiarkisFieldBase.cpp:22
Diarkis::StdString clientKey_
接続するHTTPサーバーのクライアントキー
Definition: DiarkisInterfaceBase.h:1373
uint16_t GetErrorCode() const
エラーコードを取得します。
DiarkisInterfaceBase(const char *userId, bool bInitBaseClass=true)
Diarkis インターフェースクラスのコンストラクタ
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()
UDPサーバーに接続しているかどうか
Definition: DiarkisUdpBase.cpp:264
virtual ~DiarkisUdpBase()
DiarkisUdpBaseのデストラクタ
Definition: DiarkisUdpBase.cpp:27
virtual void SetupDirectMessage(void)
DirectMessageのセットアップ関数
Definition: DiarkisInterfaceBase.cpp:829
virtual void OnCheckNATType(const DiarkisCheckNATTypeEventArgs &args)
SendCheckNATTypeの応答によってトリガーされるコールバックイベント。
Definition: DiarkisUdpBase.cpp:485
Diarkis::StdString ownerUid_
マッチングオーナーのユーザーID
Definition: DiarkisMatchMakerBase.h:1077
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual void SendGetNumberOfMembers(void)
Room内のメンバーの数を取得します。
Definition: DiarkisRoomBase.cpp:881
DIARKIS_EXPORT IDiarkisUdp * DiarkisCreateUdp(uint32_t sendInterval=100, uint32_t echoInterval=5000)
UDPクラスインスタンスの初期化。
MatchMaker Joinのレスポンスを受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1690
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
サーバーからプッシュを受信したときに呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:441
virtual void SendMessageToRoom(const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable)
特定のメンバーにメッセージを送信します。
Definition: DiarkisRoomBase.cpp:921
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインタ
Definition: DiarkisMatchMakerBase.h:1021
Diarkis::StdString ticketBroadcastMessage_
TicketBroadcastで受信したメッセージ
Definition: DiarkisMatchMakerBase.h:1085
const StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual uint16_t SendBroadcast(const uint8_t *payload, size_t payloadSize, RudpType type)
すべてのピアにメッセージを送信します。
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
オブジェクトの更新された値を取得します
virtual void SendLeaveRoom(const char *uid)
Roomを退出します。
Definition: DiarkisRoomBase.cpp:984
virtual bool RPCAll(uint32_t rpcID, const uint8_t *payload, size_t payloadSize, bool reliable=true)
Definition: DiarkisRpcBase.cpp:58
virtual void SendJoinMatchmakingFromResult(MatchMakerResultItem &result, const uint8_t *message, size_t messageSize)
マッチメイキングの結果を使ってゲストとしてマッチメイキングに参加します。
Definition: DiarkisMatchMakerBase.cpp:769
DIARKIS_EXPORT IDiarkisRoom * DiarkisCreateRoom()
IDiarkisRoomクラスを作成します。
virtual void SendMigrateRoom(void)
ルームを別のサーバーに移動します。
Definition: DiarkisRoomBase.cpp:1041
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
P2Pで送受信が失敗した際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:499
const Diarkis::StdString & GetRoomID() const
RoomのIDを取得する
virtual void OnConnect(const DiarkisConnectionEventArgs &args)
サーバーに接続するときに呼び出されるコールバック関数です。
Definition: DiarkisUdpBase.cpp:348
Diarkis::StdString GetOwnUID(void) const
自分のユーザーIDを取得します。
Definition: DiarkisRoomBase.cpp:245
MatchMakerホストが変更されたときにコールバックイベントが呼び出される際の引数。
Definition: eventArgs.h:1794
std::recursive_mutex list_mutex_
roomMemberIDsのミューテックス
Definition: DiarkisRoomBase.h:1060
Diarkis::Modules::IDiarkisRoom::SendChatMessage によってチャットメッセージを受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1144
Diarkis::StdVector< uint8_t > Buff_
送信用のバッファ
Definition: DiarkisMatchMakerBase.h:1061
virtual void OnRoomMemberMessage(const DiarkisPayloadEventArgs &e)
MessageToでメッセージを受信した時に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:509
virtual void OnOffline()
サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:260
DIARKIS_EXPORT IDiarkisField * DiarkisCreateField()
IDiarkisFieldクラスを作成します。
virtual void OnP2PReady(const DiarkisReadyEventArgs &args)
P2P接続が成功したときに呼び出されるコールバックイベントです。
Definition: DiarkisP2PBase.cpp:251
std::shared_ptr< DiarkisP2PBase > p2pBase_
DiarkisP2PBaseクラスへのポインタ
Definition: DiarkisRoomBase.h:1020
void CloseP2P(void)
すべてのP2P接続を切断します
Definition: DiarkisInterfaceBase.cpp:714
virtual void SendGetSessionInfoBySessionID(const char *sessionID)
指定されたセッションに関する情報を取得します。
Definition: DiarkisSessionBase.cpp:434
virtual void OnSessionInviteResponse(const DiarkisSessionResponseEventArgs &e)
SendInviteを送信した際にサーバーからの応答を受信したときのコールバックイベント。
Definition: DiarkisSessionBase.cpp:245
bool IsJoin()
あなたがグループに参加しているかどうか
Definition: DiarkisGroupBase.cpp:117
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisMatchMakerBase.cpp:14
@ CUSTOM
Definition: DiarkisInterfaceBase.h:40
P2P接続が完了した際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:298
std::shared_ptr< DiarkisDirectMessageBase > dmBase_
DiarkisDirectMessageBaseクラスへのポインター
Definition: DiarkisInterfaceBase.h:1349
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisFieldBase.cpp:12
DiarkisThreadPolicy
スレッドスケジューリングポリシー
Definition: Thread.h:44
virtual ~DiarkisGroupBase()
DiarkisGroupBase のデストラクタ。
Definition: DiarkisGroupBase.cpp:28
DIARKIS_EXPORT System::Result SUCCESS
すべて計画通りに進みました。 (status: NONE, value: 0)
const Diarkis::StdString & GetUID() const
ピアのユーザーIDを取得する
@ UDP_JOINING
UDPによる接続
Definition: protocol.h:69
グループが作成されたときにコールバックイベントが呼び出される際の引数
Definition: eventArgs.h:199
#define REG_EVENT(__EVENT__, __LAMBDA__)
Definition: DiarkisDirectMessageBase.cpp:13
std::shared_ptr< Diarkis::System::DiarkisThread > runtimeThread_
ランタイムループスレッド
Definition: DiarkisInterfaceBase.h:1167
P2Pが切断されたときにコールバックイベントが呼び出される際の引数
Definition: eventArgs.h:402
bool IsJoin()
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)
UDPプロトコルでRoomをセットアップします。
Definition: DiarkisRoomBase.cpp:116
UDPエコーを受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1421
const char * SeverityToString(DiarkisLoggerSeverity severity)
Definition: helpers.cpp:19
DIARKIS_EXPORT IDiarkisMatchMaker * DiarkisCreateMatchMaker()
IDiarkisMatchMakerクラスを作成します。
virtual void OnP2PResponse(const DiarkisMMResponseEventArgs &e)
P2Pを開始するときにトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:385
bool SendPing(void)
UDPサーバーにPingを送信します。
Definition: DiarkisUdpBase.cpp:298
virtual void SendJoinRandomRoom(const char *uid, uint32_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty)
利用可能な場合はRoomに参加し、そうでない場合は新しいRoomを作成します。
Definition: DiarkisRoomBase.cpp:845
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)
UDPプロトコルを使用したMatchMakerのセットアップ。
Definition: DiarkisMatchMakerBase.cpp:112
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual void OnRoomNumberOfMembers(const DiarkisRoomNumberOfMembersEventArgs &e)
Room内のメンバー数を取得するために呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:425
void SchedulerAddNotifyEvent()
TCP/UDP/P2Pのスケジューラにイベントが追加されたときに実行されるイベントです。
Definition: DiarkisInterfaceBase.cpp:1367
@ Error
Displays fatal and error level
virtual void OnDisconnect(bool isReconnect)
サーバーから切断されたときに呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:364
DiarkisConnectStatus GetStatus() const
サーバーとの接続状況を取得します
RudpType
P2P RUDP機能のタイプ
Definition: p2p.h:21
bool bTeamMatchOwner_
TeamMatchのHostまたはSearchを発行したオーナーかどうか
Definition: DiarkisMatchMakerBase.h:1157
int64_t GetTime(void)
Definition: misc.cpp:380
Diarkis::StdString GetRoomID(void)
ルームIDを取得します。
Definition: DiarkisMatchMakerBase.cpp:947
const StdString & GetErrorMessage() const
エラーの内容を取得します。
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインタ
Definition: DiarkisSessionBase.h:463
const Diarkis::StdString & GetSenderID() const
送信者のユーザーIDを取得します
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
std::shared_ptr< IDiarkisUdp > udp_
IDiarkisUdpクラスへのポインター
Definition: DiarkisUdpBase.h:438
std::mutex asyncGetEndpointMutex_
非同期でエンドポイントを取得する全体のプロセスのためのミューテックス
Definition: DiarkisInterfaceBase.h:1522
uint16_t GetErrorCode() const
エラーコードを取得します。
const Diarkis::StdString & GetContent() const
const Diarkis::StdString & GetSessionID() const
セッションIDを取得する
std::shared_ptr< DiarkisUdpBase > udpBase_
DiarkisUdpBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1285
bool IsOffline()
TCPサーバーがシャットダウンの準備をしているかどうか
Definition: DiarkisTcpBase.cpp:298
Room プロパティが取得されたときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:743
std::function< void()> schedulerAddNotifyEventFunc_
UDP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。
Definition: DiarkisUdpBase.h:462
bool IsReserve()
Roomを予約したかどうか
Definition: DiarkisRoomBase.cpp:235
bool IsTicketCancel(void)
チケットがキャンセルされたかどうか
Definition: DiarkisMatchMakerBase.cpp:675
bool asyncGetEndpointResult_
エンドポイントを非同期で取得するプロセスの結果
Definition: DiarkisInterfaceBase.h:1546
virtual void OnRoomLeave(const DiarkisRoomSuccessEventArgs &e)
Room を抜けた時に呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:463
virtual void SendTicketCancel(uint8_t ticketType)
発行されたマッチメイキングチケットをキャンセルします。
Definition: DiarkisMatchMakerBase.cpp:917
virtual void OnKickResponse(const DiarkisMMResponseEventArgs &e)
ホストがマッチングから特定のメンバーをキックするときにホストでトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:404
static std::shared_ptr< ILoggerBackend > customLoggerBackend_
カスタムロガー
Definition: DiarkisInterfaceBase.h:1469
virtual void SendRelay(const uint8_t *payload, size_t payloadSize, bool reliable)
自分以外のRoomメンバーにメッセージを送信します。
Definition: DiarkisRoomBase.cpp:942
std::shared_ptr< DiarkisGroupBase > groupBase_
DiarkisGroupBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1317
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
uint16_t GetConnectedNum()
P2Pによって接続されているピアの数を取得します。
Definition: DiarkisP2PBase.cpp:157
Diarkis::StdVector< Diarkis::StdString > memberLists_
マッチングしたメンバーのユーザーIDリスト
Definition: DiarkisMatchMakerBase.h:1101
void Disconnect()
TCP、UDP、およびP2P接続を切断する
Definition: DiarkisInterfaceBase.cpp:1379
uint8_t GetSessionType() const
セッションタイプを取得する
P2Pでメッセージを受信したときに呼び出されるコールバックイベントの引数
Definition: eventArgs.h:450
#define DIARKIS_LOG(logger, severity,...)
Definition: Logger.h:8
const StdVector< uint8_t > & GetPayload() const
受信したペイロードを取得する
virtual void OnSessionLeave(const DiarkisSessionNotificationEventArgs &e)
メンバーがセッションを離れるときのコールバックイベント、イベントコンテンツはユーザーIDです。
Definition: DiarkisSessionBase.cpp:208
void FindByTypeRoom(uint32_t roomType, uint32_t limit)
同じタイプのRoomを検索します。
Definition: DiarkisInterfaceBase.cpp:976
void SetRoomModule(const std::shared_ptr< IDiarkisRoom > &room)
Roomモジュールを設定します。
Definition: DiarkisMatchMakerBase.cpp:679
virtual void OnDisconnect(const DiarkisDirectMessageEventArgs &e)
ダイレクトメッセージが切断されたときに呼び出されるコールバック関数
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)
暗号化キーを設定します。
Definition: DiarkisP2PBase.cpp:147
DIARKIS_EXPORT System::Result UNSET
リザルトは意味のある値に設定されていません。 (ステータス: FATAL, 値: 0xFFFFFFFF)
bool GetLocalAddress(Diarkis::StdVector< Diarkis::StdString > &addressLists)
自分自身のローカルIPアドレスを取得します。
Definition: DiarkisUdpBase.cpp:212
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
void SendPing(void)
UDPサーバーにpingを送信する
Definition: DiarkisInterfaceBase.cpp:864
virtual void OnTicketBroadcast(const DiarkisMMSyncEventArgs &e)
チケットブロードキャストが受信されたときにトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:630
int64_t GetDelta() const
プロパティの値を増減させます
uint64_t GetHolePunchTime() const
ホールパンチにかかる時間(ミリ秒)を取得します。
virtual void SetupTcpRoom(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
TCPプロトコルを使用してRoomをセットアップします。
Definition: DiarkisRoomBase.cpp:38
virtual void OnRoomIncrementPropertySync(const DiarkisRoomIncrementPropertySyncEventArgs &e)
Definition: DiarkisRoomBase.cpp:582
static std::shared_ptr< ILoggerBackend > debugLoggerBackend_
デバッグ出力のためのロガー
Definition: DiarkisInterfaceBase.h:1453
Roomの参加メンバーリストを取得する際に呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:911
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcp クラスへのポインタ
Definition: DiarkisTcpBase.h:228
void ResetGotoRoom(void)
ゲームシーンに移動するフラグをリセットします
Definition: DiarkisMatchMakerBase.cpp:659
bool Connect(const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
TCPサーバーと接続する
Definition: DiarkisTcpBase.cpp:113
virtual void OnOffline(void)
サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:376
virtual void OnTicketBroadcastResponse(const DiarkisMMResponseEventArgs &e)
TicketBroadcastの応答を受信したときにトリガーされるコールバック関数
Definition: DiarkisMatchMakerBase.cpp:615
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
bool IsNotFind()
FindRoomsByTypeによってRoomが見つからなかったかどうか
Definition: DiarkisRoomBase.cpp:220
uint8_t GetStatus() const
コマンドの結果を取得する
bool IsMigrate()
Roomが移行中かどうか
Definition: DiarkisRoomBase.cpp:225
virtual ~DiarkisP2PBase()
DiarkisP2PBaseデストラクタ
Definition: DiarkisP2PBase.cpp:78
uint32_t GetNumber() const
メンバーの数を取得する
スレッドスケジューラ
Definition: Thread.h:62
bool ConnectUdpDualModeAsync(const char *udpEndpoint)
ソケットデュアルモード(IPv6の明示的なサポート)を使用して非同期でサーバーに接続を試みます。 接続が成功した場合、GetConnectedEventが呼び出されます。 このメソッドでサーバーに接続す...
Definition: DiarkisInterfaceBase.cpp:676
bool bOffline_
サーバーがシャットダウンの準備をしているかどうか
Definition: DiarkisUdpBase.h:470
virtual void OnRoomMemberIDs(const DiarkisRoomMemberIDsEventArgs &e)
参加しているRoomメンバーのユーザーIDを取得するために呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:404
const StdVector< uint8_t > & GetPayload() const
受信したペイロードを取得する
virtual void SendP2PAddressSync(uint8_t linkedClients=0)
マッチしたメンバーにP2P接続が開始されたことを通知します。
Definition: DiarkisMatchMakerBase.cpp:808
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual void OnGroupCreation(DiarkisTransportType transportType, const DiarkisGroupEventArgs &e)
グループが作成された時に呼び出されるコールバック関数。
Definition: DiarkisGroupBase.cpp:132
RoomObjectMode
ルームオブジェクトを更新する方法を表す列挙型。
Definition: eventArgs.h:27
bool IsGotoRoom(void)
ゲームシーンに移動するメッセージが送信されたかどうか
Definition: DiarkisMatchMakerBase.cpp:655
void ClearUdpBuffer(void)
ソケットの送受信バッファをクリアします
Definition: DiarkisUdpBase.cpp:338
virtual void OnHostChange(const DiarkisMMStringEventArgs &e)
「MatchMaker」ホストが変更されるときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:550
virtual void OnP2PException(const DiarkisExceptionEventArgs &args)
P2Pで送受信が失敗した際に呼び出されるコールバックイベント
Definition: DiarkisP2PBase.cpp:294
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
virtual void OnRoomMemberJoin(const DiarkisPayloadEventArgs &e)
別のクライアントがRoomに参加したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:380
std::shared_ptr< DiarkisFieldBase > GetFieldBase()
DiarkisFieldBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1149
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
static bool IsLogOutputTypeFile()
ログがファイルに出力されているかを返す。
Definition: DiarkisInterfaceBase.cpp:1260
virtual void SendGetOwnerID(void)
RoomのオーナーのユーザーIDを取得します。
Definition: DiarkisRoomBase.cpp:861
virtual void SetupTcpMatchMaker(const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
TCPプロトコルを使用したMatchMakerをセットアップします。
Definition: DiarkisMatchMakerBase.cpp:52
uint8_t mac[DIARKIS_AUTHKEY_LEN]
Definition: common.h:63
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcpクラスへのポインタ
Definition: DiarkisMatchMakerBase.h:1013
virtual void OnSessionMessageTo(const DiarkisSessionNotificationEventArgs &e)
メッセージを受信した際のコールバックイベント。
Definition: DiarkisSessionBase.cpp:220
virtual void OnHeartbeat()
サーバーからハートビートを受信したときに呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:255
static RuntimeThreadData runtimeThreadData_
ランタイムスレッドのデータ
Definition: DiarkisInterfaceBase.h:1200
uint16_t GetErrorCode() const
エラーコードを取得します。
virtual ~DiarkisInterfaceBase()
Diarkis インターフェースクラスのデストラクタ
Definition: DiarkisInterfaceBase.cpp:66
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcpクラスへのポインター
Definition: DiarkisSessionBase.h:471
uint32_t GetRoundTripMs() const
ラウンドトリップタイムを取得する(ミリ秒)
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)
フィールド内の他のクライアントにデータを送信します。
Definition: DiarkisFieldBase.cpp:159
bool GetReconnect() const
再接続されたかどうかを示すフラグを取得する
virtual void OnDisconnect(bool isReconnect)
サーバーから切断された時に呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:267
void GetSafeCategory(const std::shared_ptr< IDiarkisLogger > &logger, Diarkis::StdString &categ)
Definition: helpers.cpp:10
std::shared_ptr< IDiarkisTcp > tcp_
IDiarkisTcpクラスへのポインタ
Definition: DiarkisRoomBase.h:996
const Diarkis::StdString & GetOwnerUID(void)
マッチしたメンバーの所有者UIDを取得します。
Definition: DiarkisMatchMakerBase.cpp:957
virtual void Setup(const std::shared_ptr< LoggerFactory > &loggerFactory)
セットアップ機能
Definition: DiarkisUdpBase.cpp:32
bool IsSuccess() const
コマンドが成功したかどうかを取得します。
@ LEAVE
退出
Definition: protocol.h:97
DMを受信した際にコールバックイベントが呼ばれる際の引数
Definition: eventArgs.h:1860
Room Regiser、Reserveなどを実行する際にコールバックイベントが呼び出される際の引数。
Definition: eventArgs.h:1040
DiarkisRpcBase()
DiarkisRpcBaseのコンストラクタ
Definition: DiarkisRpcBase.cpp:15
static Diarkis::System::Result RuntimeLoop(void *owner)
Diarkisクライアントライブラリの更新を呼び出すためのループ関数
Definition: DiarkisInterfaceBase.cpp:1337
const Diarkis::StdString & GetUnresolvedAddress() const
ピアの未解決アドレスを取得する
virtual void SendSync(const uint8_t *message, size_t messageSize)
マッチしたメンバーにメッセージを送信します。
Definition: DiarkisMatchMakerBase.cpp:793
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
サーバーから応答が受信されたときに呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:212
uint32_t stackSize
Stack size of the thread
Definition: Thread.h:99
virtual void OnRoomRelay(const DiarkisPayloadEventArgs &e)
Relayからメッセージを受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:515
virtual ~DiarkisMatchMakerBase()
DiarkisMatchMakerBaseのデストラクタ
Definition: DiarkisMatchMakerBase.cpp:38
virtual void OnComplete(void)
マッチングが完了したときにトリガーされるコールバック関数。
Definition: DiarkisMatchMakerBase.cpp:287
DiarkisMatchMakerBase()
DiarkisMatchMakerBaseのコンストラクタ
Definition: DiarkisMatchMakerBase.cpp:16
void RegisterReadyEvent(std::function< void(void *, const DiarkisReadyEventArgs &)> lambda)
Definition: DiarkisP2PBase.cpp:32
~Peer()
Definition: DiarkisP2PBase.cpp:20
P2Pのインターフェースクラス
Definition: p2p.h:57
virtual void SendRandomJoinGroup(uint16_t ttl, const uint8_t *message, size_t messageSize, uint32_t interval, bool allowEmpty=false)
参加できるグループがある場合は、そのグループに参加し、そうでない場合は新しいグループを作成します。
Definition: DiarkisGroupBase.cpp:252
virtual void OnRoomIncrementProperty(const DiarkisRoomIncrementPropertyEventArgs &e)
IncrementPropertyでプロパティが変更されたときに呼び出されるコールバック関数です。
Definition: DiarkisRoomBase.cpp:567
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
virtual void OnRoomObjectUpdate(const DiarkisRoomObjectUpdateEventArgs &e)
UpdateObject プッシュが受信されたときに呼び出されるコールバックイベント
Definition: DiarkisRoomBase.cpp:758
Diarkis::StdVector< Diarkis::StdString > roomMemberIDs_
RoomメンバーのユーザーIDのリスト
Definition: DiarkisRoomBase.h:1068
bool bGotoRoom_
ゲームシーンに移動するメッセージが送信されたかどうか
Definition: DiarkisMatchMakerBase.h:1125
uint16_t GetP2PConnectedNum(void)
P2P接続されたクライアントの数を取得します
Definition: DiarkisInterfaceBase.cpp:905
virtual void OnRoomMemberBroadcast(const DiarkisPayloadEventArgs &e)
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数
Definition: DiarkisRoomBase.cpp:503
virtual void OnMessage(const DiarkisDirectMessageEventArgs &e)
他のユーザーから直接メッセージを受信したときにトリガーされるコールバック関数
Definition: DiarkisDirectMessageBase.cpp:126
virtual void SetupUdpField(const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
UDPプロトコルを使用したFieldの設定
Definition: DiarkisFieldBase.cpp:59
uint16_t GetMaxMembers() const
セッションに参加を許可されている最大ユーザー数を取得します
virtual void OnNotification(const DiarkisPushEventArgs &args)
サーバーから通知を受信した際に呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:468
uint16_t GetErrorCode() const
エラーコードを取得する。
const Diarkis::StdString & GetErrorMessage() const
エラーの内容を取得します。
Diarkis::StdString senderUID
Definition: eventArgs.h:128
std::shared_ptr< LoggerFactory > GetLoggerFactory()
ロガーを取得する
Definition: DiarkisInterfaceBase.cpp:1104
void SendGetOwnerID(void)
ルームのオーナーのユーザーIDを取得します。
Definition: DiarkisInterfaceBase.cpp:1016
virtual void OnResponse(const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
サーバーからのレスポンスを受信したときに呼び出されるコールバック関数。
Definition: DiarkisUdpBase.cpp:412
virtual void SendNotifyMatchmakingCompletion(void)
マッチメイキングが完了したことをすべてのマッチングクライアントに通知します。
Definition: DiarkisMatchMakerBase.cpp:801
std::shared_ptr< IDiarkisLogger > logger_
IDiarkisLoggerクラスへのポインタ
Definition: DiarkisGroupBase.h:375
Diarkis::Modules::IDiarkisRoom::SendCheckNATType() の応答を受け取ったときに呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:1487
const char * TranslateCommand(uint8_t version, uint16_t command)
Definition: protocol.cpp:11
UDPまたはTCP Pushを受信した際に呼び出されるコールバックイベントの引数。
Definition: eventArgs.h:1316
virtual void OnP2PMessage(const DiarkisMessageEventArgs &args)
P2Pでメッセージを受信したときに呼び出されるコールバックイベント
Definition: DiarkisP2PBase.cpp:283
Definition: DiarkisInterfaceBase.h:1141
std::shared_ptr< IDiarkisLogger > logger_
ロガークラスへのポインタ
Definition: DiarkisP2PBase.h:455
virtual void SetupRpc()
RPCのセットアップ関数
Definition: DiarkisInterfaceBase.cpp:768
Diarkis::StdString VectorToString(const Diarkis::StdVector< uint8_t > &vec)
Definition: string.cpp:50
uint8_t GetNATType() const
決定されたNATタイプを取得する
uint8_t GetSessionType() const
セッションの種類を取得する
std::shared_ptr< DiarkisDirectMessageBase > GetDirectMessageBase()
DiarkisDirectMessageBaseクラスを取得する
Definition: DiarkisInterfaceBase.cpp:1164
Diarkis::Modules::IDiarkisRoom::GetChatLog()の結果を受信した際に呼び出されるコールバックイベントの引数
Definition: eventArgs.h:1168
virtual bool SetupTcp(void)
DiarkisTcpBaseクラスを初期化する
Definition: DiarkisInterfaceBase.cpp:368
const StdVector< uint8_t > & GetPayload() const
static std::shared_ptr< ILoggerBackend > consoleLoggerBackend_
コンソール出力用のロガー
Definition: DiarkisInterfaceBase.h:1445
virtual void OnPush(const DiarkisPushEventArgs &args, DiarkisTransportType tt)
サーバーからプッシュが受信されたときに呼び出されるコールバック関数。
Definition: DiarkisTcpBase.cpp:235