CTR NEX API Reference
nn::nex::SocketTransport クラス

トランスポート層におけるソケットを表現するクラスです。 [詳解]

#include <OnlineCore/src/Transport/Interface/SocketTransport.h>

+ nn::nex::SocketTransport の継承関係図

公開型

enum  { ,
  DEFAULT_ROUTING_HISTORY_UPDATE_SPAN = 0 ,
  DEFAULT_TRANSPORT_BUFFER_POOL_NUM = 64,
  DEFAULT_TRANSPORT_BUFFER_THREAD_PRIORITY = NEX_THREAD_PRIORITY_HIGH,
  DEFAULT_TRANSPORT_BUFFER_CORE_NO = ObjectThreadRoot::DEFAULT_CORE_NO,
  DEFAULT_NAME_RESOLVE_THREAD_PRIORITY = NEX_THREAD_PRIORITY_HIGH,
  DEFAULT_NAME_RESOLVE_THREAD_CORE_NO = ObjectThreadRoot::DEFAULT_CORE_NO,
  DEFAULT_PACKET_HISTORY_BUNDLING_HOLDING_TIME = 182,
  DEFAULT_PACKET_HISTORY_BUNDLING_MAX_HOLDING_PACKETS = 32,
  DEFAULT_PACKET_HISTORY_BUNDLING_MAX_RETRANSMIT_PACKTES = QINT16_MAX,
  DEFAULT_PACKET_HISTORY_BUNDLING_MAX_RETRANSMIT_COUNTS = 2,
  DEFAULT_PACKET_HISTORY_BUNDLING_FORCED_RETRANSMIT_TIMEOUT = 150,
  DEFAULT_PACKET_HISTORY_BUNDLING_MAXIMUM_PACKET_BYTES = RootTransport::DEFAULT_MTU
}
 
enum  PacketHistoryCount {
  PACKET_HISTORY_UNBUNDLING_COUNT = 0,
  PACKET_HISTORY_BUNDLING_COUNT_NONE,
  PACKET_HISTORY_BUNDLING_COUNT_ONE_AND_MORE,
  PACKET_HISTORY_BUNDLING_COUNT_A_HALF_AND_MORE,
  PACKET_HISTORY_BUNDLING_COUNT_MAX,
  PACKET_HISTORY_TOTAL_COUNT
}
 PacketHistoryBundling用のパケット数の統計種別値 [詳解]
 

公開メンバ関数

InputEmulationDeviceGetInputEmulationDevice ()
 入力ネットワークエミュレータデバイスを取得します。[デバック用] [詳解]
 
OutputEmulationDeviceGetOutputEmulationDevice ()
 出力ネットワークエミュレータデバイスを取得します。[デバック用] [詳解]
 

静的公開メンバ関数

static void EnableDOPacketHistoryBundling (qBool b)
 過去に送られた DO のパケットをバンドリングして再送するか指定します。 [詳解]
 
static void EnableDropDuplicateReorderingUnreliablePackets (qBool b)
 Unreliable通信において、リオーダリングもしくは重複発生パケットをドロップする機能をON/OFFします。 [詳解]
 
static void EnablePacketHistoryBundling (qBool b)
 過去に送られたパケットをバンドリングして再送する機能をON/OFFします [詳解]
 
static void EnableReliablePacketHistoryBundling (qBool b)
 過去に送られたReliableパケットをバンドリングして再送するか指定します。 [詳解]
 
static void EnableUnreliablePacketHistoryBundling (qBool b)
 過去に送られたUnreliableパケットをバンドリングして再送するか指定します。 [詳解]
 
static RootTransportGetInstance ()
 RootTransportのインスタンスを取得します。 [詳解]
 
static qInt32 GetNameResolveThreadCoreNo ()
 名前解決用スレッドが利用する CPU の コア番号を取得します。 [詳解]
 
static qUnsignedInt GetNameResolveThreadPriority ()
 名前解決用スレッドの優先度を返します。 [詳解]
 
static qUnsignedInt32 GetNATTraversalTimeout ()
 NAT トラバーサルのタイムアウト時間を取得します。 [詳解]
 
static TimeInterval GetPacketHistoryBundlingForcedRetransmitTimeout ()
 過去に送られたパケットをバンドリングされなかったパケットを強制再送するまでの保留時間 [詳解]
 
static TimeInterval GetPacketHistoryBundlingHoldingTime ()
 過去に送られたパケットをバンドリングして再送するために、パケットを保持する時間を返します。 [詳解]
 
static size_t GetPacketHistoryBundlingMaxHoldingPackets ()
 過去に送られたパケットをバンドリングして再送するために、保持する最大パケット数を返します。 [詳解]
 
static size_t GetPacketHistoryBundlingMaximumPacketBytes ()
 過去に送られたパケットバンドリングする時の、パケットの上限サイズを返します。 [詳解]
 
static size_t GetPacketHistoryBundlingMaxRetransmitCounts ()
 過去に送られたパケットをバンドリングして再送する最大再送回数を返します [詳解]
 
static size_t GetPacketHistoryBundlingMaxRetransmitPackets ()
 過去に送られたパケットをバンドリングして再送する時に、同時にバンドルする最大パケット数を返します。 [詳解]
 
static size_t GetPacketHistoryBundlingPacketCount (PacketHistoryCount phc)
 バンドリングされたパケット数の統計値を返します。(デバッグ用) [詳解]
 
static const size_t * GetPacketHistoryBundlingPacketCounts ()
 バンドリングされたパケット数の統計値を返します。(デバッグ用) [詳解]
 
static qUnsignedInt32 GetRoutingHistoryTTL ()
 マスター経由通信履歴の生存時間を取得します。 [詳解]
 
static qUnsignedInt32 GetRoutingHistoryUpdateSpan ()
 マスター経由通信履歴の更新間隔を取得します。 [詳解]
 
static qUnsignedInt32 GetRoutingLimit ()
 マスター経由通信の制限数を取得します。 [詳解]
 
static size_t GetTransportBufferPoolNum ()
 トランスポートバッファスレッドで使用されるバッファのためのメモリプール数を返します。 [詳解]
 
static qInt32 GetTransportBufferThreadCoreNo ()
 トランスポートバッファスレッドが利用する CPU の コア番号を取得します。 [詳解]
 
static qUnsignedInt GetTransportBufferThreadPriority ()
 トランスポートバッファスレッドの受信用スレッドの優先度を返します。 [詳解]
 
static qUnsignedInt GetTransportBufferThreadRecvPriority ()
 トランスポートバッファスレッドの受信用優先度を返します。 [詳解]
 
static qUnsignedInt GetTransportBufferThreadSendPriority ()
 トランスポートバッファスレッドの送信用優先度を返します。 [詳解]
 
static qUnsignedInt16 GetWellKnownPortNumber ()
 既知ポート番号を取得します。 [詳解]
 
static qBool IsEnableDOPacketHistoryBundling ()
 過去に送られた DO のパケットをバンドリングするか否かを返します。 [詳解]
 
static qBool IsEnableDropDuplicateReorderingUnreliablePackets ()
 Unreliable通信において、リオーダリングもしくは重複発生パケットをドロップする機能のON/OFFを返します。 [詳解]
 
static qBool IsEnablePacketHistoryBundling ()
 過去に送られたパケットをバンドリングして再送する機能のON/OFFを返します。 [詳解]
 
static qBool IsEnableReliablePacketHistoryBundling ()
 過去に送られたReliableパケットをバンドリングするか否かを返します。 [詳解]
 
static qBool IsEnableUnreliablePacketHistoryBundling ()
 過去に送られたUnreliableパケットをバンドリングするか否かを返します。 [詳解]
 
static void SetNameResolveThreadCoreNo (qInt32 no)
 名前解決用スレッドが利用する CPU の コア番号を設定します。 [詳解]
 
static void SetNameResolveThreadPriority (qUnsignedInt priority)
 名前解決用スレッドの優先度を設定します。 [詳解]
 
static void SetNATTraversalTimeout (qUnsignedInt32 o)
 NAT トラバーサルのタイムアウト時間を設定します。 ゲームに参加できる最大人数×[3000-5000]を目安に設定してください。 [詳解]
 
static void SetPacketHistoryBundlingForcedRetransmitTimeout (TimeInterval timeout)
 過去に送られたパケットをバンドリングされなかったパケットを強制再送するまでの保留時間を設定します。 [詳解]
 
static void SetPacketHistoryBundlingHoldingTime (TimeInterval t)
 過去に送られたパケットをバンドリングして再送するためにパケットを保持する時間を設定します。 [詳解]
 
static void SetPacketHistoryBundlingMaxHoldingPackets (size_t n)
 過去に送られたパケットをバンドリングして再送するために、保持する最大パケット数を設定します。 [詳解]
 
static void SetPacketHistoryBundlingMaximumPacketBytes (size_t bytes)
 過去に送られたパケットをバンドリングする時の、バンドリング上限サイズを設定します。デフォルトは1364です。 [詳解]
 
static void SetPacketHistoryBundlingMaxRetransmitCounts (size_t n)
 過去に送られたパケットをバンドリングして再送する最大再送回数します。 [詳解]
 
static void SetPacketHistoryBundlingMaxRetransmitPackets (size_t n)
 過去に送られたパケットをバンドリングして再送する時に、同時にバンドルする最大パケット数を設定します。 [詳解]
 
static void SetRoutingHistoryTTL (qUnsignedInt32 ui)
 マスター経由通信履歴の生存時間を設定します。 [詳解]
 
static void SetRoutingHistoryUpdateSpan (qUnsignedInt32 ui)
 マスター経由通信履歴の更新間隔を設定します。 [詳解]
 
static void SetRoutingLimit (qUnsignedInt32 ui)
 マスター経由通信の数を制限します。 [詳解]
 
static void SetTransportBufferPoolNum (qUnsignedInt poolNum)
 トランスポートバッファスレッドで使用されるバッファのためのメモリプール数を設定します。 [詳解]
 
static void SetTransportBufferThreadCoreNo (qInt32 no)
 トランスポートバッファスレッドが利用する CPU の コア番号を設定します。 [詳解]
 
static void SetTransportBufferThreadPriority (qUnsignedInt priority)
 トランスポートバッファスレッドの送信用と受信用のスレッド優先度をまとめて設定します。 [詳解]
 
static void SetTransportBufferThreadRecvPriority (qUnsignedInt priority)
 トランスポートバッファスレッドの受信用優先度を設定します。 [詳解]
 
static void SetTransportBufferThreadSendPriority (qUnsignedInt priority)
 トランスポートバッファスレッドの送信用優先度を設定します。 [詳解]
 
static void SetWellKnownPortNumber (qUnsignedInt16 uiWellKnownPort)
 既知ポート番号を設定します。 [詳解]
 

静的公開変数類

static const qUnsignedInt INVALID_THREAD_PRIORITY = 0xffffffff
 無効な優先度を表現するシンボルです。
 

詳解

トランスポート層におけるソケットを表現するクラスです。

列挙型メンバ詳解

anonymous enum
inherited
列挙値
DEFAULT_ROUTING_HISTORY_UPDATE_SPAN 

デフォルト無効

DEFAULT_TRANSPORT_BUFFER_POOL_NUM 

トランスポートバッファスレッドで使用するメモリプールの数

DEFAULT_TRANSPORT_BUFFER_THREAD_PRIORITY 

トランスポートバッファスレッドのデフォルトの優先度

DEFAULT_TRANSPORT_BUFFER_CORE_NO 

トランスポートバッファスレッドがデフォルトで使う CPU CORE NO

DEFAULT_NAME_RESOLVE_THREAD_PRIORITY 

RootTransport::SetUpDefaultNATCheckServerInternalでDNSを解決するために使うスレッドのデフォルトプライオリティ

DEFAULT_NAME_RESOLVE_THREAD_CORE_NO 

RootTransport::SetUpDefaultNATCheckServerInternalでDNSを解決するために使うスレッドのデフォルトCPU CORE NO.

DEFAULT_PACKET_HISTORY_BUNDLING_HOLDING_TIME 

PacketHistoryBundlingで履歴として保持する時間[msec]}.

DEFAULT_PACKET_HISTORY_BUNDLING_MAX_HOLDING_PACKETS 

PacketHistoryBundlingで履歴として保持する最大パケット数

DEFAULT_PACKET_HISTORY_BUNDLING_MAX_RETRANSMIT_PACKTES 

PacketHistoryBundlingでバンドリングして送信する過去履歴の最大数

DEFAULT_PACKET_HISTORY_BUNDLING_MAX_RETRANSMIT_COUNTS 

PacketHistoryBundlingでバンドリングして送信する再送回数の最大数

DEFAULT_PACKET_HISTORY_BUNDLING_FORCED_RETRANSMIT_TIMEOUT 

PacketHistoryBundlingでバンドリングされなかったパケットを強制再送するまでの保留時間

DEFAULT_PACKET_HISTORY_BUNDLING_MAXIMUM_PACKET_BYTES 

PacketHistoryBundlingで1パケットにバンドリングするパケットサイズの上限

PacketHistoryBundling用のパケット数の統計種別値

GetPacketHistoryBundlingPacketCounts()が返す配列の添え字、 GetPacketHistoryBundlingPacketCount()の引数として利用する値です。

列挙値
PACKET_HISTORY_UNBUNDLING_COUNT 

バンドルしないと判断された回数

PACKET_HISTORY_BUNDLING_COUNT_NONE 

キューにバンドリング対象Packetがなく、バンドリングできなかった回数

PACKET_HISTORY_BUNDLING_COUNT_ONE_AND_MORE 

1パケット以上がバンドリングされた回数

PACKET_HISTORY_BUNDLING_COUNT_A_HALF_AND_MORE 

SetPacketHistoryBundlingMaxRetransmitPackets値/2分のパケット以上がバンドリングされた回数

PACKET_HISTORY_BUNDLING_COUNT_MAX 

SetPacketHistoryBundlingMaxRetransmitPackets値分のパケットがバンドリングされた回数

PACKET_HISTORY_TOTAL_COUNT 

総送信パケット数 PACKET_HISTORY_UNBUNDLING_COUNT + PACKET_HISTORY_BUNDLING_COUNT_NONE + PACKET_HISTORY_BUNDLING_COUNT_ONE_AND_MOREの和と等しいです。

関数詳解

static qUnsignedInt32 nn::nex::RootTransport::GetNATTraversalTimeout ( )
staticinherited

NAT トラバーサルのタイムアウト時間を取得します。

戻り値
NAT トラバーサルのタイムアウト時間が返ります。
static void nn::nex::RootTransport::SetNATTraversalTimeout ( qUnsignedInt32  o)
staticinherited

NAT トラバーサルのタイムアウト時間を設定します。 ゲームに参加できる最大人数×[3000-5000]を目安に設定してください。

引数
[in]oタイムアウトをミリ秒単位で指定します。
static size_t nn::nex::RootTransport::GetTransportBufferPoolNum ( )
staticinherited

トランスポートバッファスレッドで使用されるバッファのためのメモリプール数を返します。

戻り値
メモリプール数。デフォルトは64です。
参照
SetTransportBufferPoolNum
static void nn::nex::RootTransport::SetTransportBufferPoolNum ( qUnsignedInt  poolNum)
staticinherited

トランスポートバッファスレッドで使用されるバッファのためのメモリプール数を設定します。

メモリプール1つのサイズは MTU(Maximum Transmission Unit : ネットワークにおいて1回の転送に送信できる最大サイズ) です。 MTUサイズのメモリが、本関数で指定したメモリプール数ほど確保されます。 なお、このメモリはNetZ生成時に確保され、NetZ破棄時に解放されます。

引数
[in]poolNumメモリプール数。デフォルトは64です。
参照
GetTransportBufferPoolNum
static qUnsignedInt nn::nex::RootTransport::GetTransportBufferThreadPriority ( )
staticinherited

トランスポートバッファスレッドの受信用スレッドの優先度を返します。

戻り値
優先度
参照
SetTransportBufferThreadSendPriority, GetTransportBufferThreadSendPriority, SetTransportBufferThreadRecvPriority, GetTransportBufferThreadRecvPriority, SetTransportBufferThreadPriority
static void nn::nex::RootTransport::SetTransportBufferThreadPriority ( qUnsignedInt  priority)
staticinherited

トランスポートバッファスレッドの送信用と受信用のスレッド優先度をまとめて設定します。

引数
[in]priority優先度
参照
SetTransportBufferThreadSendPriority, GetTransportBufferThreadSendPriority, SetTransportBufferThreadRecvPriority, GetTransportBufferThreadRecvPriority, GetTransportBufferThreadPriority
static qUnsignedInt nn::nex::RootTransport::GetTransportBufferThreadRecvPriority ( )
staticinherited

トランスポートバッファスレッドの受信用優先度を返します。

戻り値
優先度
参照
SetTransportBufferThreadSendPriority, GetTransportBufferThreadSendPriority, SetTransportBufferThreadRecvPriority, SetTransportBufferThreadPriority, GetTransportBufferThreadPriority
static void nn::nex::RootTransport::SetTransportBufferThreadRecvPriority ( qUnsignedInt  priority)
staticinherited

トランスポートバッファスレッドの受信用優先度を設定します。

引数
[in]priority優先度
参照
SetTransportBufferThreadSendPriority, GetTransportBufferThreadSendPriority, GetTransportBufferThreadRecvPriority, SetTransportBufferThreadPriority, GetTransportBufferThreadPriority
static qUnsignedInt nn::nex::RootTransport::GetTransportBufferThreadSendPriority ( )
staticinherited

トランスポートバッファスレッドの送信用優先度を返します。

戻り値
優先度
参照
SetTransportBufferThreadSendPriority, SetTransportBufferThreadRecvPriority, GetTransportBufferThreadRecvPriority, SetTransportBufferThreadPriority, GetTransportBufferThreadPriority
static void nn::nex::RootTransport::SetTransportBufferThreadSendPriority ( qUnsignedInt  priority)
staticinherited

トランスポートバッファスレッドの送信用優先度を設定します。

引数
[in]priority優先度
参照
GetTransportBufferThreadSendPriority, SetTransportBufferThreadRecvPriority, GetTransportBufferThreadRecvPriority, SetTransportBufferThreadPriority, GetTransportBufferThreadPriority
static void nn::nex::RootTransport::SetTransportBufferThreadCoreNo ( qInt32  no)
staticinherited

トランスポートバッファスレッドが利用する CPU の コア番号を設定します。

DEFAULT_TRANSPORT_BUFFER_CORE_NO が、デフォルト値です。 CTR では、デフォルト値を使用した場合は CORE_NO_USE_PROCESS_VALUE が設定されます。

SDK 3.0 以降の CTR では、1 を指定することによりシステムコアを選択できます。 システムコアの利用の際には、nn::os::CTR::SetApplicationCpuTimeLimit() で、CPU時間を割り当てる必要があります。 システムコアの利用は、動作保証外です。

引数
[in]noCPU コア番号
static qInt32 nn::nex::RootTransport::GetTransportBufferThreadCoreNo ( )
staticinherited

トランスポートバッファスレッドが利用する CPU の コア番号を取得します。

戻り値
CPU コア番号 DEFAULT_TRANSPORT_BUFFER_CORE_NO が、デフォルト値です。 他の値はプラットフォームの SDK の定義に従います。
static qUnsignedInt nn::nex::RootTransport::GetNameResolveThreadPriority ( )
staticinherited

名前解決用スレッドの優先度を返します。

戻り値
優先度
参照
ConnectivityManager::StartNATSession(), SetNameResolveThreadPriority()
SetNameResolveThreadCoreNo(), GetNameResolveThreadCoreNo()
static void nn::nex::RootTransport::SetNameResolveThreadPriority ( qUnsignedInt  priority)
staticinherited

名前解決用スレッドの優先度を設定します。

引数
[in]priority優先度
参照
ConnectivityManager::StartNATSession(), GetNameResolveThreadPriority()
SetNameResolveThreadCoreNo(), GetNameResolveThreadCoreNo()
static void nn::nex::RootTransport::SetNameResolveThreadCoreNo ( qInt32  no)
staticinherited

名前解決用スレッドが利用する CPU の コア番号を設定します。

DEFAULT_NAME_RESOLVE_THREAD_CORE_NO が、デフォルト値です。 CTR では、デフォルト値を使用した場合は CORE_NO_USE_PROCESS_VALUE が設定されます。

SDK 3.0 以降の CTR では、1 を指定することによりシステムコアを選択できます。 システムコアの利用の際には、nn::os::CTR::SetApplicationCpuTimeLimit() で、CPU時間を割り当てる必要があります。 システムコアの利用は、動作保証外です。

引数
[in]noCPU コア番号
参照
ConnectivityManager::StartNATSession(), SetNameResolveThreadCoreNo()
SetNameResolveThreadPriority(), GetNameResolveThreadPriority()
static qInt32 nn::nex::RootTransport::GetNameResolveThreadCoreNo ( )
staticinherited

名前解決用スレッドが利用する CPU の コア番号を取得します。

戻り値
CPU コア番号 DEFAULT_NAME_RESOLVE_THREAD_CORE_NO が、デフォルト値です。 他の値はプラットフォームの SDK の定義に従います。
参照
ConnectivityManager::StartNATSession(), GetNameResolveThreadCoreNo()
SetNameResolveThreadPriority(), GetNameResolveThreadPriority()
static qBool nn::nex::RootTransport::IsEnablePacketHistoryBundling ( )
staticinherited

過去に送られたパケットをバンドリングして再送する機能のON/OFFを返します。

戻り値
有効・無効フラグ
参照
EnablePacketHistoryBundling
static qBool nn::nex::RootTransport::IsEnableReliablePacketHistoryBundling ( )
staticinherited

過去に送られたReliableパケットをバンドリングするか否かを返します。

戻り値
有効・無効フラグ
参照
EnableReliablePacketHistoryBundling
static qBool nn::nex::RootTransport::IsEnableUnreliablePacketHistoryBundling ( )
staticinherited

過去に送られたUnreliableパケットをバンドリングするか否かを返します。

戻り値
有効・無効フラグ
参照
EnableUnreliablePacketHistoryBundling
static qBool nn::nex::RootTransport::IsEnableDOPacketHistoryBundling ( )
staticinherited

過去に送られた DO のパケットをバンドリングするか否かを返します。

戻り値
有効・無効フラグ
参照
EnableDOPacketHistoryBundling
static TimeInterval nn::nex::RootTransport::GetPacketHistoryBundlingHoldingTime ( )
staticinherited

過去に送られたパケットをバンドリングして再送するために、パケットを保持する時間を返します。

戻り値
保持時間[msec]
参照
SetPacketHistoryBundlingHoldingTime
static size_t nn::nex::RootTransport::GetPacketHistoryBundlingMaxHoldingPackets ( )
staticinherited

過去に送られたパケットをバンドリングして再送するために、保持する最大パケット数を返します。

戻り値
最大パケット数
参照
SetPacketHistoryBundlingMaxHoldingPackets
static size_t nn::nex::RootTransport::GetPacketHistoryBundlingMaxRetransmitPackets ( )
staticinherited

過去に送られたパケットをバンドリングして再送する時に、同時にバンドルする最大パケット数を返します。

戻り値
最大パケット数
参照
SetPacketHistoryBundlingMaxRetransmitPackets
static size_t nn::nex::RootTransport::GetPacketHistoryBundlingMaxRetransmitCounts ( )
staticinherited

過去に送られたパケットをバンドリングして再送する最大再送回数を返します

戻り値
最大再送回数
参照
SetPacketHistoryBundlingMaxRetransmitCounts
static TimeInterval nn::nex::RootTransport::GetPacketHistoryBundlingForcedRetransmitTimeout ( )
staticinherited

過去に送られたパケットをバンドリングされなかったパケットを強制再送するまでの保留時間

戻り値
保留時間[msec]
static size_t nn::nex::RootTransport::GetPacketHistoryBundlingMaximumPacketBytes ( )
staticinherited

過去に送られたパケットバンドリングする時の、パケットの上限サイズを返します。

戻り値
上限サイズ[byte]
static const size_t* nn::nex::RootTransport::GetPacketHistoryBundlingPacketCounts ( )
staticinherited

バンドリングされたパケット数の統計値を返します。(デバッグ用)

enum PacketHistoryCountを要素に持つ配列ポインタを返します。

戻り値
パケット数統計値の配列
static size_t nn::nex::RootTransport::GetPacketHistoryBundlingPacketCount ( PacketHistoryCount  phc)
staticinherited

バンドリングされたパケット数の統計値を返します。(デバッグ用)

引数
[in]phcPacketHistoryCount統計種別値を指定します。
戻り値
パケット数の統計値
static void nn::nex::RootTransport::EnablePacketHistoryBundling ( qBool  b)
staticinherited

過去に送られたパケットをバンドリングして再送する機能をON/OFFします

複製オブジェクトの新規パケット送信時に、送信先が同じ過去に送られたパケットを一つのパケットに含めて送信します。 Unreliableパケットの到達性向上につながります。最低1回は再送信されることを保証するため、バンドリングされる契機がなくても、 1回は再送信します。Unreliableパケットに関しては、常にバンドリングされて、 Reliableパケットに関しては、EnableReliablePacketHistoryBundlingの指定に従います。 パケットのペイロードサイズが、1364バイト以上にはバンドリングされることはありません。

パケット数がすくない場合には、パケットを送信する機会を増やすため、 nn::nex::Stream::GetSettings().GetBundling().Disable(); (バンドリングなし)と設定する必要があります。 パケット数が多い場合には、負荷を下げるため、 nn::nex::Stream::GetSettings().GetBundling().Enable(0); (タイムアウトなしで、バッファに溜まっているパケットをバンドリングする) と設定する必要があります。

引数
[in]bバンドリングするか設定します。デフォルトは、OFF(False)です。
参照
IsEnablePacketHistoryBundling, EnableReliablePacketHistoryBundling
static void nn::nex::RootTransport::EnableReliablePacketHistoryBundling ( qBool  b)
staticinherited

過去に送られたReliableパケットをバンドリングして再送するか指定します。

引数
[in]bReliableパケットをバンドリングするか設定します。デフォルトは、ON(True)です。
参照
IsEnableReliablePacketHistoryBundling
static void nn::nex::RootTransport::EnableUnreliablePacketHistoryBundling ( qBool  b)
staticinherited

過去に送られたUnreliableパケットをバンドリングして再送するか指定します。

引数
[in]bUnreliableパケットをバンドリングするか設定します。デフォルトは、ON(True)です。
参照
IsEnableUnreliablePacketHistoryBundling
static void nn::nex::RootTransport::EnableDOPacketHistoryBundling ( qBool  b)
staticinherited

過去に送られた DO のパケットをバンドリングして再送するか指定します。

DO のパケットに対するバンドリングを無効にすると、 DirectStream のパケットのみが バンドリングの対象になります。

DO のデータセットの同期だけでなく、RMC も指定の対象となることに注意してください。

引数
[in]bDO のパケットをバンドリングするか設定します。デフォルトは、ON(True)です。
参照
IsEnableDOPacketHistoryBundling
static void nn::nex::RootTransport::SetPacketHistoryBundlingHoldingTime ( TimeInterval  t)
staticinherited

過去に送られたパケットをバンドリングして再送するためにパケットを保持する時間を設定します。

引数
[in]t保持時間をmsec単位で設定します。
参照
GetPacketHistoryBundlingHoldingTime, EnablePacketHistoryBundling
static void nn::nex::RootTransport::SetPacketHistoryBundlingMaxHoldingPackets ( size_t  n)
staticinherited

過去に送られたパケットをバンドリングして再送するために、保持する最大パケット数を設定します。

引数
[in]n最大パケット数
参照
GetPacketHistoryBundlingMaxHoldingPackets, EnablePacketHistoryBundling
static void nn::nex::RootTransport::SetPacketHistoryBundlingMaxRetransmitPackets ( size_t  n)
staticinherited

過去に送られたパケットをバンドリングして再送する時に、同時にバンドルする最大パケット数を設定します。

引数
[in]n最大パケット数

設定する値は、1+ Stream::GetSettings().GetBundling().GetMaxUnreliableBundlingPackets()以上でないと、 伝送効率が悪くなります。 伝送スループットを調整する場合には、SetPacketHistoryBundlingMaxRetransmitCountsの方が調整しやすいです。

参照
GetPacketHistoryBundlingMaxRetransmitPackets, EnablePacketHistoryBundling, SetPacketHistoryBundlingMaxRetransmitCounts
static void nn::nex::RootTransport::SetPacketHistoryBundlingMaxRetransmitCounts ( size_t  n)
staticinherited

過去に送られたパケットをバンドリングして再送する最大再送回数します。

強制再送も1回とカウントされます。

引数
[in]n最大再送回数
参照
GetPacketHistoryBundlingMaxRetransmitCounts, EnablePacketHistoryBundling, SetPacketHistoryBundlingForcedRetransmitTimeout
static void nn::nex::RootTransport::SetPacketHistoryBundlingForcedRetransmitTimeout ( TimeInterval  timeout)
staticinherited

過去に送られたパケットをバンドリングされなかったパケットを強制再送するまでの保留時間を設定します。

強制再送により最低1回送信されることが保証されます。GetPacketHistoryBundlingHoldingTimeより大きい値の場合は、強制再送されません。

引数
[in]timeout保留時間[msec] インターネット通信の場合は、往復遅延時間が100msec~133msecに値が集中するので、133msecより大きい値を推奨します。
参照
GetPacketHistoryBundlingForcedRetransmitTimeout, EnablePacketHistoryBundling, GetPacketHistoryBundlingHoldingTime
static void nn::nex::RootTransport::SetPacketHistoryBundlingMaximumPacketBytes ( size_t  bytes)
staticinherited

過去に送られたパケットをバンドリングする時の、バンドリング上限サイズを設定します。デフォルトは1364です。

引数
[in]bytes上限サイズ[byte]
static void nn::nex::RootTransport::EnableDropDuplicateReorderingUnreliablePackets ( qBool  b)
staticinherited

Unreliable通信において、リオーダリングもしくは重複発生パケットをドロップする機能をON/OFFします。

パケットが届く順番がおかしくなってしまう、同じパケットが何度か届く問題を解消し、パケットの順番を保証します。 届く順番がおかしいパケットに関しては、ロスとなり、順番入れ替えを行いません。

EnablePacketHistoryBundling=trueの時には、このフラグにかかわらず、リオーダリングもしくは重複パケットはドロップされます

引数
[in]bドロップするか設定します。デフォルトは、OFF(False)です。
参照
IsEnableDropDuplicateReorderingUnreliablePackets, EnablePacketHistoryBundling
static qBool nn::nex::RootTransport::IsEnableDropDuplicateReorderingUnreliablePackets ( )
staticinherited

Unreliable通信において、リオーダリングもしくは重複発生パケットをドロップする機能のON/OFFを返します。

パケットが届く順番がおかしくなってしまう、同じパケットが何度か届く問題を解消し、パケットの順番を保証します。 届く順番がおかしいパケットに関しては、ロスとなり、順番入れ替えを行いません。

EnablePacketHistoryBundling=trueの時には、このフラグにかかわらず、リオーダリングもしくは重複パケットはドロップされます

戻り値
ドロップするかフラグを返します。デフォルトは、OFF(False)です。
参照
EnableDropDuplicateReorderingUnreliablePackets, EnablePacketHistoryBundling
static void nn::nex::RootTransport::SetRoutingHistoryUpdateSpan ( qUnsignedInt32  ui)
staticinherited

マスター経由通信履歴の更新間隔を設定します。

引数
[in]ui更新間隔[msec]
static qUnsignedInt32 nn::nex::RootTransport::GetRoutingHistoryUpdateSpan ( )
staticinherited

マスター経由通信履歴の更新間隔を取得します。

戻り値
マスター経由通信履歴の更新間隔が返ります。
static void nn::nex::RootTransport::SetRoutingHistoryTTL ( qUnsignedInt32  ui)
staticinherited

マスター経由通信履歴の生存時間を設定します。

StreamSettings::GetMaxSilenceTime() で取得した沈黙時間の2倍程度の値に設定してください。 マスター経由通信を持つステーション同士がここで設定した時間分通信しなかった場合、その通信は Session::GetNumOfRoutingConnections() 及び Station::GetNumOfRoutingConnections() でカウントされません。

引数
[in]ui生存時間[msec]
static qUnsignedInt32 nn::nex::RootTransport::GetRoutingHistoryTTL ( )
staticinherited

マスター経由通信履歴の生存時間を取得します。

戻り値
マスター経由通信履歴の生存時間が返ります。
static void nn::nex::RootTransport::SetRoutingLimit ( qUnsignedInt32  ui)
staticinherited

マスター経由通信の数を制限します。

マスター経由通信の数を制限します。 この制限値を超えるマスター経由の通信は、転送せずに破棄されます。 マスター経由通信の数を制限することで、マスター経由通信が一定数に収まるネットワークを構築することができます。 0を設定すると、制限なしとなります。初期値は0、制限なしです。 現在のマスター経由通信の数は、Session::GetNumOfRoutingConnections で取得できます。

引数
[in]ui制限数
static qUnsignedInt32 nn::nex::RootTransport::GetRoutingLimit ( )
staticinherited

マスター経由通信の制限数を取得します。

戻り値
マスター経由通信の制限数が返ります。 0は制限無しを表します。
static void nn::nex::RootTransport::SetWellKnownPortNumber ( qUnsignedInt16  uiWellKnownPort)
staticinherited

既知ポート番号を設定します。

デフォルトの既知ポート番号は9103ですが、この関数でポート番号を変更できます。 既知ポートが利用できない場合、システムはdynamic port (49152 ~ 65535)をオープンします。 Net-Zのインスタンスを作成する前にこの関数を呼ぶことで、デフォルトの既知ポート番号を変更できます。 通常、既知ポート番号を変更する必要はありませんが、別アプリケーションが同一のポート番号を 使用しているとき(複数のセッションを同一のステーションで作成する場合など)、ポート番号の 衝突を回避するためにこの関数を利用できます。

参照
GetWellKnownPortNumber
引数
[in]uiWellKnownPort設定するポート番号。デフォルト値は9103です。
static qUnsignedInt16 nn::nex::RootTransport::GetWellKnownPortNumber ( )
staticinherited

既知ポート番号を取得します。

既知ポート番号は SetWellKnownPortNumber で設定できます。

参照
SetWellKnownPortNumber
戻り値
使用されている既知ポート番号が返ります。
OutputEmulationDevice* nn::nex::RootTransport::GetOutputEmulationDevice ( )
inherited

出力ネットワークエミュレータデバイスを取得します。[デバック用]

戻り値
出力ネットワークエミュレータデバイスが返ります
注釈
RootTransport::GetInstance()->GetOutputEmulationDevice()とすることで取得可能です。
参照
GetInputEmulationDevice, OutputEmulationDevice, InputEmulationDevice
InputEmulationDevice* nn::nex::RootTransport::GetInputEmulationDevice ( )
inherited

入力ネットワークエミュレータデバイスを取得します。[デバック用]

戻り値
入力ネットワークエミュレータデバイスが返ります
注釈
RootTransport::GetInstance()->GetInputEmulationDevice()とすることで取得可能です。
参照
GetOutputEmulationDevice, OutputEmulationDevice, InputEmulationDevice
static RootTransport* nn::nex::RootTransport::GetInstance ( )
staticinherited

RootTransportのインスタンスを取得します。

戻り値
RootTransportのインスタンス