![]() |
Diarkis C++Client Library API Document
|
Group機能の簡単な使用のためにIDiarkisGroupクラスをラップするベースクラス [詳解]
#include <DiarkisGroupBase.h>
公開メンバ関数 | |
DiarkisGroupBase () | |
DiarkisGroupBaseのコンストラクタ [詳解] | |
virtual | ~DiarkisGroupBase () |
DiarkisGroupBase のデストラクタ。 [詳解] | |
virtual void | SetupTcpGroup (const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry) |
TCPプロトコルでGroupをセットアップします。 [詳解] | |
virtual void | SetupUdpGroup (const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry) |
UDPプロトコルでGroupを設定します。 [詳解] | |
virtual void | SendCreateGroup (bool allowEmpty, bool join, uint16_t ttl) |
新しいグループを作成します。 [詳解] | |
virtual void | SendJoinGroup (const char *groupID, const uint8_t *message, size_t messageSize) |
既存のグループに参加します。 [詳解] | |
virtual void | SendJoinGroup (const std::string &groupID, const std::vector< uint8_t > &message) |
SendJoingGroup()と同じです [詳解] | |
virtual void | SendRandomJoinGroup (uint16_t ttl, const uint8_t *message, size_t messageSize, uint32_t interval, bool allowEmpty=false) |
参加できるグループがある場合は、そのグループに参加し、そうでない場合は新しいグループを作成します。 [詳解] | |
virtual void | SendRandomJoinGroup (uint16_t ttl, const std::vector< uint8_t > &message, uint32_t interval, bool allowEmpty=false) |
SendRandomJoinGroup()と同じです [詳解] | |
virtual void | SendLeaveGroup (const char *groupID, const uint8_t *message, size_t messageSize) |
指定されたグループから離脱する。 [詳解] | |
virtual void | SendLeaveGroup (const std::string &groupID, const std::vector< uint8_t > &message) |
SendLeaveGroup(const char*, const uint8_t*, size_t)と同じです [詳解] | |
virtual void | SendLeaveGroup (const uint8_t *message, size_t messageSize) |
すべてのグループから脱退します。 [詳解] | |
virtual void | SendLeaveGroup (const std::vector< uint8_t > &message) |
SendLeaveGroup(const uint8_t*, size_t)と同じです [詳解] | |
virtual void | SendBroadcastToGroup (const uint8_t *payload, size_t payloadSize, bool reliable) |
すべての参加グループのすべてのユーザーにブロードキャストを送信します。 [詳解] | |
virtual void | SendBroadcastToGroup (const std::vector< uint8_t > &payload, bool reliable) |
SendBroadcastToGroup(const uint8_t*, size_t, bool)と同じです [詳解] | |
virtual void | SendBroadcastToGroup (const char *groupID, const uint8_t *payload, size_t payloadSize, bool reliable) |
指定されたグループのすべてのユーザーにブロードキャストを送信します。 [詳解] | |
virtual void | SendBroadcastToGroup (const std::string &groupID, const std::vector< uint8_t > &payload, bool reliable) |
SendBroadcastToGroup(const char*, const uint8_t*, size_t, bool)と同じ [詳解] | |
bool | IsJoin () |
あなたがグループに参加しているかどうか [詳解] | |
bool | IsFail () |
グループに参加できなかったかどうか [詳解] | |
Diarkis::StdString | GetGroupID () |
参加しているグループのGroup IDを取得します。 [詳解] | |
限定公開メンバ関数 | |
virtual void | OnGroupCreation (DiarkisTransportType transportType, const DiarkisGroupEventArgs &e) |
グループが作成された時に呼び出されるコールバック関数。 [詳解] | |
virtual void | OnGroupJoin (DiarkisTransportType transportType, const DiarkisGroupEventArgs &e) |
グループに参加するときに呼び出されるコールバック関数です。 [詳解] | |
virtual void | OnGroupLeave (DiarkisTransportType transportType, const DiarkisGroupEventArgs &e) |
グループを離れるときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnGroupMemberJoin (DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e) |
他のメンバーがグループに参加したときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnGroupMemberLeave (DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e) |
他のメンバーがグループを退出した時に呼び出されるコールバック関数。 [詳解] | |
virtual void | OnGroupMemberBroadcast (DiarkisTransportType transportType, const DiarkisPayloadEventArgs &e) |
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数。 [詳解] | |
限定公開変数類 | |
std::shared_ptr< IDiarkisTcp > | tcp_ |
IDiarkisTcp クラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisUdp > | udp_ |
IDiarkisUdpクラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisGroup > | group_ |
IDiarkisGroupクラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisLogger > | logger_ |
IDiarkisLoggerクラスへのポインタ [詳解] | |
Diarkis::StdVector< std::function< void()> > | eventUnsubscriptions_ |
ラムダ関数のリスト [詳解] | |
Diarkis::StdString | groupID_ |
グループID [詳解] | |
Diarkis::StdString | groupMessage_ |
受信した最新のメッセージ [詳解] | |
Diarkis::StdString | messageFromUid_ |
最新の受信メッセージの送信元のユーザーID [詳解] | |
ConnectState | groupConnect_ |
グループ接続状況 [詳解] | |
Group機能の簡単な使用のためにIDiarkisGroupクラスをラップするベースクラス
DiarkisGroupBase::DiarkisGroupBase | ( | ) |
DiarkisGroupBaseのコンストラクタ
|
virtual |
DiarkisGroupBase のデストラクタ。
|
virtual |
TCPプロトコルでGroupをセットアップします。
ロガーとコールバック関数を登録します。
[in] | tcp | IDiarkisTcpクラスへのポインタ |
[in] | loggerFactory | LoggerFactoryクラスへのポインタ |
[in] | bRetry | Groupに参加しようとした失敗後に再接続する場合はtrueでこの関数を呼び出してください。最初の呼び出しはfalseでなければなりません。 |
|
virtual |
UDPプロトコルでGroupを設定します。
ロガーとコールバック関数を登録します。
[in] | udp | IDiarkisUdpクラスへのポインタ |
[in] | loggerFactory | ロガークラスへのポインタ |
[in] | bRetry | Groupに参加しようと試行が失敗した後に再接続する場合、trueでこの関数を呼び出します。最初の呼び出しではfalseである必要があります。 |
|
virtual |
新しいグループを作成します。
GetCreateEvent() で登録されたコールバックイベント(たとえば OnGroupCreation)がトリガーされます。
[in] | allowEmpty | クライアントが参加していない場合でもグループを保持するかどうかを決定します。 true = クライアントがいなくてもグループを保持します。 false = クライアントがいないと、ttl で指定された時間が経過した後にグループが破壊されます。 |
[in] | join | 新しいグループを作成してから参加するかどうかを指定します。 true = 作成された後にグループに参加します。この場合、サーバーは参加リクエストに応答しません。 false = グループを作成のみします。グループに参加したい場合は、別途 Join を実行する必要があります。 |
[in] | ttl | グループが空になった後の存在期間(秒単位)を指定します。allowEmpty が true に設定されている場合にのみ使用されます。 |
|
virtual |
既存のグループに参加します。
GetJoinEvent() に登録されたコールバックイベント(例:OnGroupJoin)がトリガーされます。
ターゲットグループのメンバーには GetMemberJoinEvent() に登録されたコールバックイベント(例:OnGroupMemberJoin)がトリガーされます。
[in] | groupID | 参加するグループのID |
[in] | message | 参加時にグループメンバーにメッセージを送信します。 たとえば、新しく参加したメンバーのユーザーIDを通知するには、ユーザーIDを含めることができます。 |
[in] | messageSize | メッセージの長さ |
|
virtual |
SendJoingGroup()と同じです
|
virtual |
参加できるグループがある場合は、そのグループに参加し、そうでない場合は新しいグループを作成します。
既存のグループに参加する場合、GetJoinEvent() で登録されたコールバックイベント(例:OnGroupJoin)がトリガーされます。
新しいグループが作成されると、GetCreateEvent() で登録されたコールバックイベント(例:OnGroupCreation)がトリガーされます。
[in] | ttl | グループが空になってからの秒数の期間。allowEmpty が true に設定されている場合にのみ使用されます。 |
[in] | message | 参加時にグループのメンバーにオプションのメッセージを送信します。 |
[in] | messageSize | メッセージの長さ |
[in] | interval | サーバーが BroadcastTo を処理する間隔(ミリ秒単位)を指定します。デフォルト値は200msです。 interval で指定された時間のメッセージはサーバーによって編集され送信されます。 |
[in] | allowEmpty | クライアントが参加していない場合でもグループを保持するかどうかを決定します。 true = クライアントが存在しなくてもグループは保持されます。 false = クライアントがいない場合は ttl で指定された時間後にグループが破棄されます。 |
|
virtual |
|
virtual |
指定されたグループから離脱する。
GetMemberLeaveEvent() で登録されたコールバックイベント(例:OnGroupMemberLeave)が発生する。
[in] | groupID | 離脱するグループのID |
[in] | message | 離脱時にグループメンバーにメッセージを送信する。 |
[in] | messageSize | メッセージの長さ |
|
virtual |
|
virtual |
すべてのグループから脱退します。
GetMemberLeaveEvent() に登録したコールバックイベント(例:OnGroupMemberLeave)がトリガーされます。
[in] | message | 脱退時にグループメンバーにメッセージを送信します。 |
[in] | messageSize | メッセージの長さ |
|
virtual |
|
virtual |
すべての参加グループのすべてのユーザーにブロードキャストを送信します。
GetMemberBroadcastEvent() で登録されたコールバックイベント(例:OnGroupMemberBroadcast)がトリガーされます。
送信したメッセージに対してもコールバックイベントがトリガーされます。
[in] | payload | 送信するメッセージ |
[in] | payloadSize | ペイロードの長さ |
[in] | reliable | メッセージを信頼性のある通信(RUDP)で送信するかどうかを決定します。TCPプロトコルの場合は無視されます。 |
|
virtual |
|
virtual |
指定されたグループのすべてのユーザーにブロードキャストを送信します。
GetMemberBroadcastEvent() で登録されたコールバックイベント(例:OnGroupMemberBroadcast)がトリガーされます。
ユーザーが送信したメッセージに対してもコールバックイベントがトリガーされます。
[in] | groupID | メッセージを送信するグループのID |
[in] | payload | 送信するメッセージ |
[in] | payloadSize | payloadの長さ |
[in] | reliable | メッセージが信頼性のある通信(RUDP)を介して送信されるかどうかを決定します。TCPプロトコルでは無視されます。 |
|
virtual |
bool DiarkisGroupBase::IsJoin | ( | ) |
あなたがグループに参加しているかどうか
bool DiarkisGroupBase::IsFail | ( | ) |
グループに参加できなかったかどうか
Diarkis::StdString DiarkisGroupBase::GetGroupID | ( | ) |
参加しているグループのGroup IDを取得します。
|
protectedvirtual |
グループが作成された時に呼び出されるコールバック関数。
サーバーからグループ作成の応答を受信した時に呼び出されます。
|
protectedvirtual |
グループに参加するときに呼び出されるコールバック関数です。
サーバーからグループ参加の応答を受信したときに呼び出されます。
|
protectedvirtual |
グループを離れるときに呼び出されるコールバック関数。
サーバーからグループLeaveレスポンスを受信したときに呼び出されます。
|
protectedvirtual |
他のメンバーがグループに参加したときに呼び出されるコールバック関数。
サーバーからのグループ参加通知を受信したときに呼び出されます。
|
protectedvirtual |
他のメンバーがグループを退出した時に呼び出されるコールバック関数。
サーバーからグループ退会通知を受信した時に呼び出されます。
|
protectedvirtual |
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数。
グループブロードキャスト通知をサーバーから受信したときに呼び出されます。
|
protected |
IDiarkisTcp クラスへのポインタ
|
protected |
IDiarkisUdpクラスへのポインタ
|
protected |
IDiarkisGroupクラスへのポインタ
|
protected |
IDiarkisLoggerクラスへのポインタ
|
protected |
ラムダ関数のリスト
|
protected |
グループID
|
protected |
受信した最新のメッセージ
|
protected |
最新の受信メッセージの送信元のユーザーID
|
protected |
グループ接続状況