Diarkis C++Client Library API Document
DiarkisDirectMessageBase クラス

DirectMessage機能を簡単に使用するためのIDiarkisDirectMessageクラスをラップする基本クラス [詳解]

#include <DiarkisDirectMessageBase.h>

DiarkisDirectMessageBase 連携図

公開メンバ関数

 DiarkisDirectMessageBase ()
 DiarkisDirectMessagecBaseのコンストラクタ [詳解]
 
virtual ~DiarkisDirectMessageBase ()
 DiarkisDirectMessageBaseデストラクタ [詳解]
 
virtual void SetupTcp (const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
 
virtual void SetupUdp (const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
 UDPプロトコルでDirectMessageを設定します。 [詳解]
 
virtual void Disconnect (const char *uid, const uint8_t *message, size_t messageSize)
 指定されたユーザーからダイレクトメッセージ経由で切断し、カスタムメッセージを送信します。 [詳解]
 
virtual void Disconnect (const std::string &uid, const std::vector< uint8_t > &message)
 Diconnect()と同じです [詳解]
 
virtual void Send (const char *uid, const uint8_t *message, size_t messageSize)
 指定されたユーザーに直接メッセージを送信します。 [詳解]
 
virtual void Send (const std::string &uid, const std::vector< uint8_t > &message)
 Send()と同じです [詳解]
 
virtual void RSend (const char *uid, const uint8_t *message, size_t messageSize)
 信頼性のある通信を使用して指定されたユーザーに直接メッセージを送信します。 [詳解]
 
virtual void RSend (const std::string &uid, const std::vector< uint8_t > &message)
 RSend()と同じです [詳解]
 

限定公開メンバ関数

virtual void OnDisconnect (const DiarkisDirectMessageEventArgs &e)
 ダイレクトメッセージが切断されたときに呼び出されるコールバック関数 [詳解]
 
virtual void OnMessage (const DiarkisDirectMessageEventArgs &e)
 他のユーザーから直接メッセージを受信したときにトリガーされるコールバック関数 [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisDirectMessagedm_
 IDiarkisDirectMessageクラスへのポインター [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerクラスへのポインタ [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 

詳解

DirectMessage機能を簡単に使用するためのIDiarkisDirectMessageクラスをラップする基本クラス

構築子と解体子

◆ DiarkisDirectMessageBase()

DiarkisDirectMessageBase::DiarkisDirectMessageBase ( )

DiarkisDirectMessagecBaseのコンストラクタ

◆ ~DiarkisDirectMessageBase()

DiarkisDirectMessageBase::~DiarkisDirectMessageBase ( )
virtual

DiarkisDirectMessageBaseデストラクタ

関数詳解

◆ SetupTcp()

void DiarkisDirectMessageBase::SetupTcp ( const std::shared_ptr< IDiarkisTcp > &  tcp,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual
呼び出し関係図:

◆ SetupUdp()

void DiarkisDirectMessageBase::SetupUdp ( const std::shared_ptr< IDiarkisUdp > &  udp,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual

UDPプロトコルでDirectMessageを設定します。

ロガーとコールバック関数を登録します。

引数
[in]udpIDiarkisUdpクラスへのポインター
[in]loggerFactoryロガークラスへのポインター
呼び出し関係図:

◆ Disconnect() [1/2]

void DiarkisDirectMessageBase::Disconnect ( const char *  uid,
const uint8_t *  message,
size_t  messageSize 
)
virtual

指定されたユーザーからダイレクトメッセージ経由で切断し、カスタムメッセージを送信します。

GetDisconnectEvent() で登録されたコールバックイベント(例:OnDisconnect)がトリガーされます。
サーバーにキャッシュされている指定されたユーザーとのダイレクトメッセージの接続情報が削除されます。

引数
[in]uidリモートクライアントユーザーID
[in]messageリモートクライアントに送信されるメッセージ
[in]messageSizeメッセージの長さ

◆ Disconnect() [2/2]

void DiarkisDirectMessageBase::Disconnect ( const std::string &  uid,
const std::vector< uint8_t > &  message 
)
virtual

Diconnect()と同じです

◆ Send() [1/2]

void DiarkisDirectMessageBase::Send ( const char *  uid,
const uint8_t *  message,
size_t  messageSize 
)
virtual

指定されたユーザーに直接メッセージを送信します。

最初のメッセージは、リモートクライアントを検索する必要があり、少し時間がかかる場合があります。
SetupUdpを使用している場合、メッセージはUDPプロトコルを使用して送信されます。
SetupTcpを使用している場合、メッセージはTCPプロトコルを使用して送信されます。
この関数を実行した後、GetMessageEvent()で登録されたコールバックイベント(例:OnMessageEvent)がトリガーされます。

引数
[in]uid直接メッセージを送信するターゲットのユーザーID
[in]message送信するメッセージ
[in]messageSizeメッセージの長さ

◆ Send() [2/2]

void DiarkisDirectMessageBase::Send ( const std::string &  uid,
const std::vector< uint8_t > &  message 
)
virtual

Send()と同じです

◆ RSend() [1/2]

void DiarkisDirectMessageBase::RSend ( const char *  uid,
const uint8_t *  message,
size_t  messageSize 
)
virtual

信頼性のある通信を使用して指定されたユーザーに直接メッセージを送信します。

最初のメッセージは、リモートクライアントを検索する必要があるため、時間がかかる場合があります。
SetupUdpを使用すると、メッセージはRUDPプロトコルを使用して送信されます。
SetupTcpを使用している場合、メッセージはTCPプロトコルを使用して送信されます。
この関数が実行されると、GetMessageEvent()で登録されたコールバックイベント(例:OnMessageEvent)がトリガーされます。

引数
[in]uidダイレクトメッセージを送信する対象ユーザーのユーザーID
[in]message送信されるメッセージ
[in]messageSizeメッセージの長さ

◆ RSend() [2/2]

void DiarkisDirectMessageBase::RSend ( const std::string &  uid,
const std::vector< uint8_t > &  message 
)
virtual

RSend()と同じです

◆ OnDisconnect()

void DiarkisDirectMessageBase::OnDisconnect ( const DiarkisDirectMessageEventArgs e)
protectedvirtual

ダイレクトメッセージが切断されたときに呼び出されるコールバック関数

サーバーからのダイレクトメッセージ切断通知を受信したときにトリガーされる。

呼び出し関係図:

◆ OnMessage()

void DiarkisDirectMessageBase::OnMessage ( const DiarkisDirectMessageEventArgs e)
protectedvirtual

他のユーザーから直接メッセージを受信したときにトリガーされるコールバック関数

サーバーから DirectMessage メッセージ通知を受信したときにトリガーされます。

呼び出し関係図:

メンバ詳解

◆ dm_

std::shared_ptr<IDiarkisDirectMessage> DiarkisDirectMessageBase::dm_
protected

IDiarkisDirectMessageクラスへのポインター

◆ logger_

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

IDiarkisLoggerクラスへのポインタ

◆ eventUnsubscriptions_

Diarkis::StdVector<std::function<void()> > DiarkisDirectMessageBase::eventUnsubscriptions_
protected

ラムダ関数のリスト


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