Proud::CNetConfig Class Reference

Static Public Member Functions

static PROUD_API int64_t GetP2PHolepunchEndTimeMs ()
static __forceinline int64_t GetFallbackServerUdpToTcpTimeoutMs ()
static __forceinline int64_t GetFallbackP2PUdpToTcpTimeoutMs ()
static PROUD_API Proud::String GetVersion ()
static PROUD_API CriticalSectionGetWriteCriticalSection ()
static PROUD_API void AssertTimeoutTimeAppropriate (int64_t ms)
static PROUD_API void ThrowExceptionIfMessageLengthOutOfRange (int length)

Static Public Attributes

static PROUD_API int UdpIssueRecvLength
static PROUD_API int UdpRecvBufferLength_Client
static PROUD_API int UdpRecvBufferLength_Server
static PROUD_API int UdpRecvBufferLength_ServerStaticAssigned
static PROUD_API int TcpIssueRecvLength
static PROUD_API int TcpRecvBufferLength
static PROUD_API int TcpSendBufferLength
static PROUD_API int UdpSendBufferLength_Client
static PROUD_API int UdpSendBufferLength_Server
static PROUD_API int UdpSendBufferLength_ServerStaticAssigned
static PROUD_API bool EnableSocketTcpKeepAliveOption
static PROUD_API int64_t ReliableUdpHeartbeatIntervalMs_Real
static PROUD_API int64_t ReliableUdpHeartbeatIntervalMs_ForDummyTest
static PROUD_API int64_t TcpSocketConnectTimeoutMs
static PROUD_API int64_t ClientConnectServerTimeoutTimeMs
static PROUD_API int64_t DefaultConnectionTimeoutMs
static PROUD_API int64_t MinConnectionTimeoutMs
static PROUD_API int64_t MaxConnectionTimeoutMs
static PROUD_API uint32_t WaitCompletionTimeoutMs
static PROUD_API uint32_t HeartbeatIntervalMs
static PROUD_API uint32_t GarbageCollectIntervalMs
static PROUD_API int64_t ServerHolepunchIntervalMs
static PROUD_API int64_t UdpHolepunchIntervalMs
static PROUD_API int64_t ServerUdpRepunchIntervalMs
static PROUD_API int ServerUdpRepunchMaxTrialCount
static PROUD_API int ServerUdpHolepunchMaxTrialCount
static PROUD_API int64_t P2PHolepunchIntervalMs
static PROUD_API int P2PShotgunStartTurn
static PROUD_API int P2PHolepunchMaxTurnCount
static PROUD_API int64_t PurgeTooOldUnmatureClientTimeoutMs
static PROUD_API int64_t PurgeTooOldAddMemberAckTimeoutMs
static PROUD_API int64_t DisposeGarbagedHostsTimeoutMs
static PROUD_API int64_t RemoveTooOldUdpSendPacketQueueTimeoutMs
static PROUD_API int64_t AssembleFraggedPacketTimeoutMs
static PROUD_API bool EnablePacketDefragWarning
static PROUD_API int ShotgunTrialCount
static PROUD_API int ShotgunRange
static PROUD_API int64_t UnreliablePingIntervalMs
static PROUD_API int64_t ReliablePingIntervalMs
static PROUD_API bool UseReportRealUdpCount
static PROUD_API int64_t ReportRealUdpCountIntervalMs
static PROUD_API uint32_t LanClientHeartbeatIntervalMs
static PROUD_API int64_t LanPeerConnectPeerTimeoutTimeMs
static PROUD_API int64_t PurgeTooOldJoiningTimeOutIntervalMs
static PROUD_API int64_t RemoveLookaheadMessageTimeoutIntervalMs
static PROUD_API int RecyclePairReuseTimeMs
static PROUD_API int64_t GarbageTooOldRecyclableUdpSocketsIntervalMs
static PROUD_API int ServerUdpSocketLatentCloseMs
static PROUD_API int64_t TcpInDangerThresholdMs
static PROUD_API int64_t TcpUnstableDetectionWaitTimeMs
static PROUD_API int64_t PauseUdpSendDurationOnTcpInDangerMs
static PROUD_API int64_t RecentAssemblyingPacketIDsClearIntervalMs
static PROUD_API int AutoConnectionRecoveryTimeoutTimeMs
static PROUD_API int64_t AutoConnectionRecoveryTimeoutMinTimeMs
static PROUD_API int64_t AutoConnectionRecoveryRefreshServerAddrInfoTimeoutMs
static PROUD_API int EveryRemoteIssueSendOnNeedIntervalMs
static PROUD_API int DefaultNoPingTimeoutTimeMs
static PROUD_API int LagLinearProgrammingFactorPercent
static PROUD_API int StreamGrowBy
static PROUD_API int InternalNetVersion
static PROUD_API int InternalLanVersion
static PROUD_API int MtuLength
static PROUD_API int64_t ElectSuperPeerIntervalMs
static PROUD_API const int MessageMaxLengthInOrdinaryCase = 64 * 1024
static PROUD_API const int MessageMaxLengthInServerLan = 1024 * 1024
static PROUD_API const int MessageMinLength = 128
static PROUD_API int MessageMaxLength
static PROUD_API int64_t DefaultGracefulDisconnectTimeoutMs
static PROUD_API int MaxS2CMulticastRouteCount
static PROUD_API int UnreliableS2CRoutedMulticastMaxPingDefaultMs
static PROUD_API bool ForceCompressedRelayDestListOnly
static const int MaxConnectionCount = 60000
static const int OrdinaryHeavyS2CMulticastCount = 100
static const bool EnableTestSplitter = false
static const uint32_t ClientListHashTableValue = 101
static PROUD_API bool EnableSpeedHackDetectorByDefault
static PROUD_API bool EnableMessagePriority
static PROUD_API int64_t SpeedHackDetectorPingIntervalMs
static PROUD_API int DefaultMaxDirectP2PMulticastCount
static PROUD_API bool UpnpDetectNatDeviceByDefault
static PROUD_API bool UpnpTcpAddPortMappingByDefault
static PROUD_API int64_t MeasureClientSendSpeedIntervalMs
static PROUD_API int64_t MeasureSendSpeedDurationMs
static PROUD_API
static PROUD_API bool CatchUnhandledException
static PROUD_API ErrorReaction UserMisuseErrorReaction
static PROUD_API bool NetworkerThreadPriorityIsHigh
static PROUD_API bool EnableAbortiveSocketClose
static PROUD_API bool EnableObjectPooling
static PROUD_API bool EnableSocketReuseAddress
static PROUD_API int64_t ReportLanP2PPeerPingIntervalMs
static PROUD_API int64_t ReportP2PPeerPingTestIntervalMs
static PROUD_API int64_t ReportServerTimeAndPingIntervalMs
static PROUD_API int64_t LongIntervalMs
static PROUD_API int64_t MinSendSpeed
static PROUD_API int DefaultOverSendSuspectingThresholdInBytes
static PROUD_API bool ForceUnsafeHeapToSafeHeap
static PROUD_API bool EnableSendBrake
static PROUD_API int UdpCongestionControl_MinPacketLossPercent
static PROUD_API int64_t VizReconnectTryIntervalMs
static PROUD_API int64_t SuperPeerSelectionPremiumMs
static PROUD_API int64_t HostIDRecycleAllowTimeMs
static PROUD_API int SendQueueHeavyWarningCapacity
static PROUD_API int64_t SendQueueHeavyWarningTimeMs
static PROUD_API int64_t SendQueueHeavyWarningCheckCoolTimeMs
static PROUD_API int64_t UpdateNetClientStatCloneCoolTimeMs
static PROUD_API bool EnableErrorReportToNettention
static PROUD_API int64_t ManagerGarbageFreeTimeMs
static PROUD_API unsigned int ManagerAverageElapsedTimeCollectCount
static PROUD_API bool EnableStarvationWarning
static PROUD_API bool FraggingOnNeedByDefault
static PROUD_API bool CheckDeadLock
static PROUD_API bool UseIsSameLanToLocalForMaxDirectP2PMulticast
static PROUD_API int TcpSendMaxAmount
static PROUD_API const bool AllowUseTls = true
static PROUD_API bool ConcealDeadlockOnDisconnect
static PROUD_API int MessageOverloadWarningLimit
static PROUD_API int MessageOverloadWarningLimitTimeMs
static PROUD_API int64_t MessageOverloadTimerIntervalMs
static PROUD_API int64_t LanRemotePeerHeartBeatTimerIntervalMs
static PROUD_API int P2PFallbackTcpRelayResendTimeIntervalMs
static PROUD_API int CleanUpOldPacketIntervalMs
static PROUD_API int NormalizePacketIntervalMs
static PROUD_API double MessageRecovery_MessageIDAckIntervalMs
static PROUD_API bool ListenSocket_RetryOnInvalidArgError
static PROUD_API bool AllowOutputDebugString
static PROUD_API bool DefensiveSendReadyListAdd
static PROUD_API bool DefensiveCustomValueEvent
static PROUD_API bool EnablePeriodicDetectingTransitionNetwork
static PROUD_API const int64_t WaitForSendingDummyPacketIntervalMs
static PROUD_API bool EnableAutoConnectionRecoveryOnServer
static const int RountTripLatencyTestMaxCount = 1000

Detailed Description

ProudNet related setting values

  • DO NOT change the values that are separately documented!

Member Function Documentation

static PROUD_API Proud::String Proud::CNetConfig::GetVersion ( )

This function returns ProudNet Version information.

Member Data Documentation

PROUD_API const bool Proud::CNetConfig::AllowUseTls = true

This is to determine whether to use the Thread local storage (TLS) function. The default value is true. For the environment where the TLS function cannot be used only, set this value as false. (for example, when an anti-hacking 3rd party software is used together)

PROUD_API bool Proud::CNetConfig::CatchUnhandledException

The variable that decides whether:

  1. to pass as OnUnhandledException after Proudnet processes it as catch when unhandled exception(such as scratching memory) occurs at the method(RMI reception routine, event handler) called back by either ProudNet internal or ProudNet while user did not catch,
  1. or to leave unhandled exception as it is.
  • Default is true.
  • User can change this value at any time.
PROUD_API bool Proud::CNetConfig::EnableAbortiveSocketClose

It is the variable which is setted when progressing shutdown of socket by aboritive or hard. We recommend to use it for testing

  • Default: false
PROUD_API bool Proud::CNetConfig::EnableMessagePriority

User can turn off message priority function by changing it to false. We recommend to use it for testing

PROUD_API bool Proud::CNetConfig::EnableObjectPooling

This variable can turn on or off Object Pooling function in ProudNet. We recommend not to change it.

  • Default: true
const bool Proud::CNetConfig::EnableTestSplitter = false
test splitter를 켤 것인가 말 것인가?

켤 경우 통신량은 약간 증가하나 splitter test를 통해 깨진 serialization을 찾는데 도움이 된다. 주의: true로 설정하지 말 것. RMI encryption이 정상 작동 안한다.

PROUD_API int Proud::CNetConfig::EveryRemoteIssueSendOnNeedIntervalMs

It sends IssueSend of all other Remotes

  • Defualt value is 3ms
  • It may occur lag of sending, if you set too longe. It will suitable between 3ms ~ 10ms.
PROUD_API int64_t Proud::CNetConfig::HostIDRecycleAllowTimeMs

It will decide issue timing for issuing HostID re-use at ProudNet.

PROUD_API int Proud::CNetConfig::LagLinearProgrammingFactorPercent

Linear planning(?)

  • If too small then hard to overcome error from exisiting value to its change being too small, If too big then hard to keep the mid-point value due to its change being too big.
const int Proud::CNetConfig::MaxConnectionCount = 60000

Maximum number of con-current user per server

PROUD_API int Proud::CNetConfig::MaxS2CMulticastRouteCount

The maximum number of P2P routed multicast from server to client (client that acts as router is excluded)

PROUD_API const int Proud::CNetConfig::MessageMaxLengthInOrdinaryCase = 64 * 1024

The maximum size of a message can have

  • Not a fixed value. Developer can change this at any time.
  • This value must be set previously before creating the CNetServer object or CNetClient object.
  • However, it is not recommended to change this. But, there can be an exception when a message has a size around 1 MB among server communications.
  • To stop a hacked client sending incorrect message size, it is recommended to use CNetServer.SetMessageMaxLength.
PROUD_API bool Proud::CNetConfig::NetworkerThreadPriorityIsHigh

To decide whether to set priority of internal worker thread of CNetClient to be higher than normal

  • Default: true
  • When using CNetClient instance at client application causes lowering renderinf frames, there is a possibility to solve that by setting this as false. But very rare. It is better to redice communication traffic.
  • This value can be set only, before creating the very first CNetClient.
const int Proud::CNetConfig::OrdinaryHeavyS2CMulticastCount = 100

Maximum amount of normal communication that does not require heap alloc when server performs 1 multicast

PROUD_API int Proud::CNetConfig::SendQueueHeavyWarningCapacity

It will decide warning message timing depends on amount of Sendqueue

PROUD_API int64_t Proud::CNetConfig::UpdateNetClientStatCloneCoolTimeMs

This is the coolTime value to renew the copy of NetClientStats for the emergency log.

PROUD_API ErrorReaction Proud::CNetConfig::UserMisuseErrorReaction

A variable to decide to display ProudNet user mistake as chat box or other way

  • User can change this value at any time.
  • Default is ErrorReaction_MessageBox.