Diarkis C++Client Library API Document
Diarkis::Modules::IDiarkisGroup クラスabstract

Group用のインターフェースクラス [詳解]

#include <group.h>

公開メンバ関数

virtual ~IDiarkisGroup ()
 IDiarkisGroupクラスのデストラクタ [詳解]
 
virtual void SetLoggerFactory (const std::shared_ptr< IDiarkisLoggerFactory > &loggerFactory, Diarkis::StdString loggerNameSuffix)=0
 ロガーを登録します。 [詳解]
 
virtual bool SetupAsTcp (const std::shared_ptr< IDiarkisTcp > &tcp)=0
 GroupをTCPプロトコルとして設定します。 [詳解]
 
virtual bool SetupAsUdp (const std::shared_ptr< IDiarkisUdp > &udp)=0
 GroupをUDPプロトコルとして設定します。 [詳解]
 
virtual bool SetTcp (const std::shared_ptr< IDiarkisTcp > &tcp)=0
 IDiarkisTcpクラスへのポインタを登録します。 [詳解]
 
virtual bool SetUdp (const std::shared_ptr< IDiarkisUdp > &udp)=0
 IDiarkisUdpクラスへのポインタを登録します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisGroupEventArgs & > > GetCreateEvent ()=0
 グループが作成されたときに呼び出されるコールバックイベントを取得します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisGroupEventArgs & > > GetJoinEvent ()=0
 グループに参加したときに呼び出されるコールバックイベントを取得します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisGroupEventArgs & > > GetLeaveEvent ()=0
 グループから退出したときに呼び出されるコールバックイベントを取得します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisPayloadEventArgs & > > GetMemberJoinEvent ()=0
 他のクライアントがGroupに参加したときに呼ばれるコールバックイベントを取得します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisPayloadEventArgs & > > GetMemberLeaveEvent ()=0
 他のクライアントがグループから離れた際に呼び出されるコールバックイベントを取得します。 [詳解]
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisPayloadEventArgs & > > GetMemberBroadcastEvent ()=0
 ブロードキャストメッセージを受信したときに呼ばれるコールバックイベントを取得します。 [詳解]
 
virtual void GetGroupIDs (Diarkis::StdVector< Diarkis::StdString > &idList)=0
 グループメンバーのユーザーIDのリストを取得する [詳解]
 
virtual Diarkis::System::Result Create (bool allowEmpty, bool join, uint16_t ttl)=0
 新しいグループを作成します。 [詳解]
 
virtual Diarkis::System::Result Join (const char *groupID, const uint8_t *message, size_t messageSize)=0
 既存のグループに参加します。 [詳解]
 
virtual Diarkis::System::Result Join (const Diarkis::StdString &groupID, const Diarkis::StdVector< uint8_t > &message)=0
 Join()と同じ [詳解]
 
virtual Diarkis::System::Result JoinRandom (uint16_t ttl, const uint8_t *message, size_t messageSize, uint32_t interval=200, bool allowEmpty=false)=0
 参加できるグループがあれば、そのグループに参加し、なければ新しいグループを作成します。 [詳解]
 
virtual Diarkis::System::Result JoinRandom (uint16_t ttl, const Diarkis::StdVector< uint8_t > &message, uint32_t interval=200, bool allowEmpty=false)=0
 JoinRandom()と同じです [詳解]
 
virtual Diarkis::System::Result Leave (const char *groupID, const uint8_t *message, size_t messageSize)=0
 グループから退出します。 [詳解]
 
virtual Diarkis::System::Result Leave (const Diarkis::StdString &groupID, const Diarkis::StdVector< uint8_t > &message)=0
 Leave()と同じです [詳解]
 
virtual Diarkis::System::Result BroadcastTo (const char *groupID, const uint8_t *message, size_t messageSize, bool reliable=true)=0
 グループのすべての参加者にメッセージを送信します。 [詳解]
 
virtual Diarkis::System::Result BroadcastTo (const Diarkis::StdString &groupID, const Diarkis::StdVector< uint8_t > &message, bool reliable=true)=0
 BroadcastTo()と同じです [詳解]
 

詳解

Group用のインターフェースクラス

Groupを使用するための関数やコールバックイベントが提供されています。

構築子と解体子

◆ ~IDiarkisGroup()

virtual Diarkis::Modules::IDiarkisGroup::~IDiarkisGroup ( )
inlinevirtual

IDiarkisGroupクラスのデストラクタ

関数詳解

◆ SetLoggerFactory()

virtual void Diarkis::Modules::IDiarkisGroup::SetLoggerFactory ( const std::shared_ptr< IDiarkisLoggerFactory > &  loggerFactory,
Diarkis::StdString  loggerNameSuffix 
)
pure virtual

ロガーを登録します。

引数
[in]loggerFactoryIDiarkisLoggerFactoryへのポインタ
[in]loggerNameSuffixログに出力されるタグに追加される文字列

◆ SetupAsTcp()

virtual bool Diarkis::Modules::IDiarkisGroup::SetupAsTcp ( const std::shared_ptr< IDiarkisTcp > &  tcp)
pure virtual

GroupをTCPプロトコルとして設定します。

◆ SetupAsUdp()

virtual bool Diarkis::Modules::IDiarkisGroup::SetupAsUdp ( const std::shared_ptr< IDiarkisUdp > &  udp)
pure virtual

GroupをUDPプロトコルとして設定します。

◆ SetTcp()

virtual bool Diarkis::Modules::IDiarkisGroup::SetTcp ( const std::shared_ptr< IDiarkisTcp > &  tcp)
pure virtual

IDiarkisTcpクラスへのポインタを登録します。

引数
[in]tcpIDiarkisTcpクラスへのポインタ

◆ SetUdp()

virtual bool Diarkis::Modules::IDiarkisGroup::SetUdp ( const std::shared_ptr< IDiarkisUdp > &  udp)
pure virtual

IDiarkisUdpクラスへのポインタを登録します。

引数
[in]udpIDiarkisUdpクラスへのポインタ

◆ GetCreateEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetCreateEvent ( )
pure virtual

グループが作成されたときに呼び出されるコールバックイベントを取得します。

◆ GetJoinEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetJoinEvent ( )
pure virtual

グループに参加したときに呼び出されるコールバックイベントを取得します。

◆ GetLeaveEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisGroupEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetLeaveEvent ( )
pure virtual

グループから退出したときに呼び出されるコールバックイベントを取得します。

◆ GetMemberJoinEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetMemberJoinEvent ( )
pure virtual

他のクライアントがGroupに参加したときに呼ばれるコールバックイベントを取得します。

◆ GetMemberLeaveEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetMemberLeaveEvent ( )
pure virtual

他のクライアントがグループから離れた際に呼び出されるコールバックイベントを取得します。

◆ GetMemberBroadcastEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&> > Diarkis::Modules::IDiarkisGroup::GetMemberBroadcastEvent ( )
pure virtual

ブロードキャストメッセージを受信したときに呼ばれるコールバックイベントを取得します。

◆ GetGroupIDs()

virtual void Diarkis::Modules::IDiarkisGroup::GetGroupIDs ( Diarkis::StdVector< Diarkis::StdString > &  idList)
pure virtual

グループメンバーのユーザーIDのリストを取得する

◆ Create()

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::Create ( bool  allowEmpty,
bool  join,
uint16_t  ttl 
)
pure virtual

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

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

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

◆ Join() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::Join ( const char *  groupID,
const uint8_t *  message,
size_t  messageSize 
)
pure virtual

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

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

引数
[in]groupID参加するグループのID
[in]message参加時にグループメンバーにメッセージを送信します。
例えば、新しく参加したメンバーのユーザーIDを通知するためにユーザーIDを含めることができます。
[in]messageSizeメッセージの長さ

◆ Join() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::Join ( const Diarkis::StdString groupID,
const Diarkis::StdVector< uint8_t > &  message 
)
pure virtual

Join()と同じ

◆ JoinRandom() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::JoinRandom ( uint16_t  ttl,
const uint8_t *  message,
size_t  messageSize,
uint32_t  interval = 200,
bool  allowEmpty = false 
)
pure virtual

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

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

引数
[in]ttlグループが空になってからの経過時間(秒単位)、allowEmptyがtrueに設定されている場合にのみ使用されます。
[in]message参加するときにグループメンバーにオプションのメッセージを送信します。
[in]messageSizeメッセージの長さ
[in]intervalサーバーがBroadcastToを処理する間隔をミリ秒単位で指定します。デフォルト値は200msです。
intervalで指定された時間のメッセージは、サーバーによってコンパイルされ送信されます。
[in]allowEmptyクライアントが参加していない場合でもグループを保持するかどうかを決定します。
true = クライアントが存在しなくてもグループを保持します。
false = クライアントがいない場合、ttlで指定された時間後にグループは破棄されます。

◆ JoinRandom() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::JoinRandom ( uint16_t  ttl,
const Diarkis::StdVector< uint8_t > &  message,
uint32_t  interval = 200,
bool  allowEmpty = false 
)
pure virtual

JoinRandom()と同じです

◆ Leave() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::Leave ( const char *  groupID,
const uint8_t *  message,
size_t  messageSize 
)
pure virtual

グループから退出します。

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

引数
[in]groupID退出するグループのID
[in]message退出時にグループメンバーにメッセージを送信します。
[in]messageSizeメッセージの長さ

◆ Leave() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::Leave ( const Diarkis::StdString groupID,
const Diarkis::StdVector< uint8_t > &  message 
)
pure virtual

Leave()と同じです

◆ BroadcastTo() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::BroadcastTo ( const char *  groupID,
const uint8_t *  message,
size_t  messageSize,
bool  reliable = true 
)
pure virtual

グループのすべての参加者にメッセージを送信します。

GetMemberBroadcastEvent() で登録されたコールバックイベント (例:OnGroupMemberBroadcast) がトリガーされます。
あなたが送信したメッセージに対してもコールバックイベントがトリガーされます。

引数
[in]groupIDグループのID
[in]message送信するメッセージ
[in]messageSizeメッセージの長さ
[in]reliableメッセージが信頼性のある通信 (RUDP) を介して送信されるかどうかを決定します。TCPプロトコルの場合は無視されます。

◆ BroadcastTo() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisGroup::BroadcastTo ( const Diarkis::StdString groupID,
const Diarkis::StdVector< uint8_t > &  message,
bool  reliable = true 
)
pure virtual

BroadcastTo()と同じです


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