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

TCP機能を簡単に使用するためにIDiarkisTcpクラスをラップするベースクラス [詳解]

#include <DiarkisTcpBase.h>

DiarkisTcpBase 連携図

公開メンバ関数

 DiarkisTcpBase ()
 DiarkisTcpBaseのコンストラクタ [詳解]
 
virtual ~DiarkisTcpBase ()
 DiarkisTcpBaseデストラクタ [詳解]
 
virtual void Setup (const std::shared_ptr< LoggerFactory > &loggerFactory)
 セットアップ関数 [詳解]
 
bool Connect (const char *endpoint, const char *clientKey, const struct AuthInfo *auth)
 TCPサーバーと接続する [詳解]
 
bool Connect (const std::string &endpoint, const std::string &clientKey, const struct AuthInfo *auth)
 Connect(const char*, const char*, const struct AuthInfo*)と同じです [詳解]
 
bool Connect (const std::string &endpoint, const std::string &clientKey, const std::vector< uint8_t > &sid, const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv, const std::vector< uint8_t > &mackey)
 TCPサーバーと接続する [詳解]
 
bool IsConnected ()
 TCPサーバーに接続しているかどうか [詳解]
 
void Disconnect ()
 TCPサーバーから切断する [詳解]
 
void Update ()
 クライアントライブラリ内でTCP処理を呼び出すアップデート機能。定期的に呼び出す必要があります。 [詳解]
 
void SetSchedulerAddNotifyEvent (std::function< void()> notifyEventFunc)
 TCP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。 [詳解]
 
bool IsOffline ()
 TCPサーバーがシャットダウンの準備をしているかどうか [詳解]
 
std::shared_ptr< IDiarkisTcpGet ()
 IDiarkisTcpへのポインタを取得する [詳解]
 
bool SendHeartbeat (void)
 TCPサーバーにハートビートを送信します。 [詳解]
 
bool SendMigrate (void)
 現在の接続を別のサーバーに変更しようとします。 [詳解]
 

限定公開メンバ関数

virtual void OnConnect (const DiarkisConnectionEventArgs &args)
 サーバーに接続する際に呼び出されるコールバック関数です。 [詳解]
 
virtual void OnDisconnect (bool isReconnect)
 サーバーから切断された時に呼び出されるコールバック関数。 [詳解]
 
virtual void OnOffline ()
 サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnResponse (const DiarkisResponseEventArgs &args, DiarkisTransportType tt)
 サーバーから応答が受信されたときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnPush (const DiarkisPushEventArgs &args, DiarkisTransportType tt)
 サーバーからプッシュが受信されたときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnHeartbeat ()
 サーバーからハートビートを受信したときに呼び出されるコールバック関数。 [詳解]
 
virtual void OnNotification (const DiarkisPushEventArgs &args)
 サーバーからの通知を受信したときに呼び出されるコールバック関数。 [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisTcptcp_
 IDiarkisTcp クラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerクラスへのポインタ [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 
std::function< void()> schedulerAddNotifyEventFunc_
 TCP 関連のイベントが追加されたときに呼び出されるコールバック関数 [詳解]
 
bool bOffline_
 サーバーがシャットダウンの準備をしているかどうか [詳解]
 

詳解

TCP機能を簡単に使用するためにIDiarkisTcpクラスをラップするベースクラス

構築子と解体子

◆ DiarkisTcpBase()

DiarkisTcpBase::DiarkisTcpBase ( )

DiarkisTcpBaseのコンストラクタ

◆ ~DiarkisTcpBase()

DiarkisTcpBase::~DiarkisTcpBase ( )
virtual

DiarkisTcpBaseデストラクタ

関数詳解

◆ Setup()

void DiarkisTcpBase::Setup ( const std::shared_ptr< LoggerFactory > &  loggerFactory)
virtual

セットアップ関数

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

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

◆ Connect() [1/3]

bool DiarkisTcpBase::Connect ( const char *  endpoint,
const char *  clientKey,
const struct AuthInfo auth 
)

TCPサーバーと接続する

引数
[in]endpointTCPサーバーアドレス
[in]clientKeyクライアントキー
[in]auth認証情報
呼び出し関係図:
被呼び出し関係図:

◆ Connect() [2/3]

bool DiarkisTcpBase::Connect ( const std::string &  endpoint,
const std::string &  clientKey,
const struct AuthInfo auth 
)

Connect(const char*, const char*, const struct AuthInfo*)と同じです

呼び出し関係図:

◆ Connect() [3/3]

bool DiarkisTcpBase::Connect ( const std::string &  endpoint,
const std::string &  clientKey,
const std::vector< uint8_t > &  sid,
const std::vector< uint8_t > &  key,
const std::vector< uint8_t > &  iv,
const std::vector< uint8_t > &  mackey 
)

TCPサーバーと接続する

引数
[in]endpointTCPサーバーアドレス
[in]clientKeyクライアントキー
[in]sidセッションID
[in]key暗号化キー
[in]iv暗号化イニシャライズベクトル(IV)
[in]mackeyMACキー
呼び出し関係図:

◆ IsConnected()

bool DiarkisTcpBase::IsConnected ( )

TCPサーバーに接続しているかどうか

◆ Disconnect()

void DiarkisTcpBase::Disconnect ( )

TCPサーバーから切断する

呼び出し関係図:

◆ Update()

void DiarkisTcpBase::Update ( )

クライアントライブラリ内でTCP処理を呼び出すアップデート機能。定期的に呼び出す必要があります。

◆ SetSchedulerAddNotifyEvent()

void DiarkisTcpBase::SetSchedulerAddNotifyEvent ( std::function< void()>  notifyEventFunc)

TCP関連のイベントがスケジューラに追加された時に呼び出されるプロセスを設定します。

◆ IsOffline()

bool DiarkisTcpBase::IsOffline ( )

TCPサーバーがシャットダウンの準備をしているかどうか

◆ Get()

std::shared_ptr< IDiarkisTcp > DiarkisTcpBase::Get ( )

IDiarkisTcpへのポインタを取得する

◆ SendHeartbeat()

bool DiarkisTcpBase::SendHeartbeat ( void  )

TCPサーバーにハートビートを送信します。

GetHeartbeatEvent()で登録されたコールバックイベント(例:OnHeartbeat)がトリガーされます。
ライブラリのUpdate関数によって定期的に送信されるため、ライブラリの外部からSendHeartbeatを呼び出す必要はありません。

◆ SendMigrate()

bool DiarkisTcpBase::SendMigrate ( void  )

現在の接続を別のサーバーに変更しようとします。

SID、暗号化キー、IV、およびMACキーは移行後も維持されます。

◆ OnConnect()

void DiarkisTcpBase::OnConnect ( const DiarkisConnectionEventArgs args)
protectedvirtual

サーバーに接続する際に呼び出されるコールバック関数です。

呼び出し関係図:

◆ OnDisconnect()

void DiarkisTcpBase::OnDisconnect ( bool  isReconnect)
protectedvirtual

サーバーから切断された時に呼び出されるコールバック関数。

◆ OnOffline()

void DiarkisTcpBase::OnOffline ( )
protectedvirtual

サーバーがシャットダウンの準備をするときに呼び出されるコールバック関数。

◆ OnResponse()

void DiarkisTcpBase::OnResponse ( const DiarkisResponseEventArgs args,
DiarkisTransportType  tt 
)
protectedvirtual

サーバーから応答が受信されたときに呼び出されるコールバック関数。

呼び出し関係図:

◆ OnPush()

void DiarkisTcpBase::OnPush ( const DiarkisPushEventArgs args,
DiarkisTransportType  tt 
)
protectedvirtual

サーバーからプッシュが受信されたときに呼び出されるコールバック関数。

呼び出し関係図:

◆ OnHeartbeat()

void DiarkisTcpBase::OnHeartbeat ( )
protectedvirtual

サーバーからハートビートを受信したときに呼び出されるコールバック関数。

◆ OnNotification()

void DiarkisTcpBase::OnNotification ( const DiarkisPushEventArgs args)
protectedvirtual

サーバーからの通知を受信したときに呼び出されるコールバック関数。

呼び出し関係図:

メンバ詳解

◆ tcp_

std::shared_ptr<IDiarkisTcp> DiarkisTcpBase::tcp_
protected

IDiarkisTcp クラスへのポインタ

◆ logger_

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

IDiarkisLoggerクラスへのポインタ

◆ eventUnsubscriptions_

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

ラムダ関数のリスト

◆ schedulerAddNotifyEventFunc_

std::function<void()> DiarkisTcpBase::schedulerAddNotifyEventFunc_
protected

TCP 関連のイベントが追加されたときに呼び出されるコールバック関数

◆ bOffline_

bool DiarkisTcpBase::bOffline_
protected

サーバーがシャットダウンの準備をしているかどうか


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