Network_Enums

EAspectFlags Enumeration
C++
enum EAspectFlags {
  eAF_ServerControllerOnly = 0x04,
  eAF_NoCompression = 0x08,
  eAF_Delegatable = 0x10,
  eAF_ServerManagedProfile = 0x20,
  eAF_HashState = 0x40,
  eAF_TimestampState = 0x80
};
File

INetwork.h

Members
Members
Description
eAF_ServerControllerOnly = 0x04
aspect will not be sent to clients that don't control the entity
eAF_NoCompression = 0x08
aspect is serialized without using compression manager (useful for data that is allready well quantised/compressed)
eAF_Delegatable = 0x10
aspect can be client controlled (delegated to the client)
eAF_ServerManagedProfile = 0x20
aspect has more than one profile (serialization format)
eAF_HashState = 0x40
client should periodically send a hash of what it thinks the current state of an aspect is this hash is compared to the server hash and forces a server update if there's a mismatch
eAF_TimestampState = 0x80
aspect needs a timestamp to make sense (i.e. physics)
EChannelConnectionState Enumeration
C++
enum EChannelConnectionState {
  eCCS_WaitingForResponse,
  eCCS_StartingConnection,
  eCCS_InContextInitiation,
  eCCS_InGame,
  eCCS_Disconnecting
};
File

INetwork.h

EChatJoinResult Enumeration
C++
enum EChatJoinResult {
  eCJR_Success,
  eCJR_ChannelError,
  eCJR_Banned
};
File

INetworkService.h

Members
Members
Description
eCJR_Success
join successful
eCJR_ChannelError
error codes:
EChatUserStatus Enumeration
C++
enum EChatUserStatus {
  eCUS_inchannel,
  eCUS_joined,
  eCUS_left
};
File

INetworkService.h

ECheatProtectionLevel Enumeration
C++
enum ECheatProtectionLevel {
  eCPL_Default = 0,
  eCPL_RandomChecks,
  eCPL_Code,
  eCPL_High
};
File

INetwork.h

EContextEstablishTaskResult Enumeration
C++
enum EContextEstablishTaskResult {
  eCETR_Ok = 1,
  eCETR_Failed = 0,
  eCETR_Wait = 2
};
File

INetwork.h

EContextViewState Enumeration
C++
enum EContextViewState {
  eCVS_Initial = 0,
  eCVS_Begin,
  eCVS_EstablishContext,
  eCVS_ConfigureContext,
  eCVS_SpawnEntities,
  eCVS_PostSpawnEntities,
  eCVS_InGame,
  eCVS_NUM_STATES
};
File

INetwork.h

Members
Members
Description
eCVS_Initial = 0
We use this initially to ensure that eCVS_Begin is a real state change.
eCVS_Begin
Starts setting up a context.
eCVS_EstablishContext
Establishes the context (load any data files).
eCVS_ConfigureContext
Configure any data-dependent things before binding.
eCVS_SpawnEntities
Spawns (bind) any objects.
eCVS_PostSpawnEntities
Post-spawns initialization for any entities.
eCVS_InGame
Now play the game (finally!).
eCVS_NUM_STATES
Resets some game state without completely destroying the context.
EListenerPriorityType Enumeration
C++
enum EListenerPriorityType {
  ELPT_PreEngine = 0x00000000,
  ELPT_Engine = 0x00010000,
  ELPT_PostEngine = 0x00020000
};
File

INetwork.h

EMessageParallelFlags Enumeration
C++
enum EMessageParallelFlags {
  eMPF_BlocksStateChange = 0x0001,
  eMPF_DecodeInSync = 0x0002,
  eMPF_NoSendDelay = 0x0004,
  eMPF_DiscardIfNoEntity = 0x0008,
  eMPF_StateChange = 0x0010,
  eMPF_DontAwake = 0x0020,
  eMPF_AfterSpawning = 0x0040
};
File

INetwork.h

Members
Members
Description
eMPF_BlocksStateChange = 0x0001
don't change the context state until this message has been sent & acknowledged PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES
eMPF_DecodeInSync = 0x0002
decoding of this message needs to occur on the main thread (legacy support mainly) means that the entire packet will need to be decoded in the main thread, slowing things down
eMPF_NoSendDelay = 0x0004
lock the network thread and get this message sent as quickly as possible
eMPF_DiscardIfNoEntity = 0x0008
message makes no sense if the entity is not bound, so discard it in that case (a bit hacky!)
eMPF_StateChange = 0x0010
message represents part of a context state change PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES
eMPF_DontAwake = 0x0020
not a critical message - don't wake up sending
eMPF_AfterSpawning = 0x0040
delay sending this message until spawning is complete PROBABLY SHOULD BE DEALT WITH BY MESSAGE DEPENDENCIES
EMessageSendResult Enumeration
C++
enum EMessageSendResult {
  eMSR_SentOk,
  eMSR_NotReady,
  eMSR_FailedMessage,
  eMSR_FailedConnection,
  eMSR_FailedPacket
};
File

INetwork.h

Members
Members
Description
eMSR_SentOk
Message was successfully sent.
eMSR_NotReady
Message wasn't ready to be sent (try again later).
eMSR_FailedMessage
Failed sending the message, but it's ok.
eMSR_FailedConnection
Failed sending so badly that we need to disconnect!
eMSR_FailedPacket
Failed sending the message; don't try to send anything more this packet.
ENetBreakDescFlags Enumeration
C++
enum ENetBreakDescFlags {
  eNBF_UseDefaultSend = 0,
  eNBF_UseSimpleSend = 1<<0,
  eNBF_SendOnlyOnClientJoin = 1<<1
};
File

INetwork.h

ENetReliabilityType Enumeration
C++
enum ENetReliabilityType {
  eNRT_ReliableOrdered,
  eNRT_ReliableUnordered,
  eNRT_UnreliableOrdered,
  eNRT_UnreliableUnordered,
  eNRT_NumReliabilityTypes
};
File

INetwork.h

Members
Members
Description
eNRT_NumReliabilityTypes
Must be last.
Description

This enum describes different reliability mechanisms for packet delivery.

Remarks

Do not change ordering here without updating ServerContextView, ClientContextView.

Notes

This is pretty much deprecated; new code should use the message queue facilities to order messages, and be declared either ReliableUnordered or UnreliableUnordered.

See Also

ServerContextView,ClientContextView

ENetSendableStateUpdate Enumeration
C++
enum ENetSendableStateUpdate {
  eNSSU_Ack,
  eNSSU_Requeue,
  eNSSU_Nack,
  eNSSU_Rejected
};
File

INetwork.h

Members
Members
Description
eNSSU_Ack
message has been acknowledged
eNSSU_Requeue
message was dropped, but since it's reliable (and all other conditions are right), packet has been requeued in the message queue
eNSSU_Nack
message was dropped and will not be resent
eNSSU_Rejected
message was not allowed into the message queue for some reason
Description

sendables get callbacks depending on 'how sent they are

ENetworkChatMessageType Enumeration
C++
enum ENetworkChatMessageType {
  eNCMT_server,
  eNCMT_say,
  eNCMT_data
};
File

INetworkService.h

ENetworkGameSync Enumeration
C++
enum ENetworkGameSync {
  eNGS_FrameStart = 0,
  eNGS_FrameEnd,
  eNGS_Shutdown_Clear,
  eNGS_Shutdown,
  eNGS_MinimalUpdateForLoading,
  eNGS_AllowMinimalUpdate,
  eNGS_DenyMinimalUpdate,
  eNGS_SleepNetwork,
  eNGS_WakeNetwork,
  eNGS_ForceChannelTick,
  eNGS_DisplayDebugInfo,
  eNGS_NUM_ITEMS
};
File

INetwork.h

Members
Members
Description
eNGS_MinimalUpdateForLoading
Internal use - workaround for sync loading problems
eNGS_SleepNetwork
Should only be called once per frame!
eNGS_WakeNetwork
Should only be called once per frame!
eNGS_ForceChannelTick
Forces the netchannels to tick when the network ticks (for next tick only)
eNGS_DisplayDebugInfo
update and display network debug info. must be last
Description

At which point in the frame are we.

ENetworkProfileError Enumeration
C++
enum ENetworkProfileError {
  eNPE_ok,
  eNPE_connectFailed,
  eNPE_disconnected,
  eNPE_loginFailed,
  eNPE_loginTimeout,
  eNPE_anotherLogin,
  eNPE_actionFailed,
  eNPE_nickTaken,
  eNPE_registerAccountError,
  eNPE_registerGeneric,
  eNPE_nickTooLong,
  eNPE_nickFirstNumber,
  eNPE_nickSlash,
  eNPE_nickFirstSpecial,
  eNPE_nickNoSpaces,
  eNPE_nickEmpty,
  eNPE_profileEmpty,
  eNPE_passTooLong,
  eNPE_passEmpty,
  eNPE_mailTooLong,
  eNPE_mailEmpty
};
File

INetworkService.h

Members
Members
Description
eNPE_connectFailed
cannot connect to server
eNPE_disconnected
disconnected from GP
eNPE_loginFailed
check your account/password
eNPE_loginTimeout
timeout
eNPE_anotherLogin
another login
eNPE_actionFailed
generic action failed
eNPE_nickTaken
nick already take
eNPE_registerAccountError
mail/pass not match
eNPE_registerGeneric
register failed
eNPE_nickTooLong
no longer than 20 chars
eNPE_nickFirstNumber
no first digits
eNPE_nickSlash
no slash in nicks
eNPE_nickFirstSpecial
no first specials @+#:
eNPE_nickNoSpaces
no spaces in nick
eNPE_nickEmpty
empty nicks
eNPE_profileEmpty
empty profile name
eNPE_passTooLong
no longer than 30 chars
eNPE_passEmpty
empty passwords
eNPE_mailTooLong
no longer than 50 chars
eNPE_mailEmpty
no longer than 50 chars
ENetworkServiceInterface Enumeration
C++
enum ENetworkServiceInterface {
  eNSI_CDKeyValidation
};
File

INetwork.h

ENetworkServiceState Enumeration
C++
enum ENetworkServiceState {
  eNSS_Initializing,
  eNSS_Ok,
  eNSS_Failed,
  eNSS_Closed
};
File

INetworkService.h

Members
Members
Description
eNSS_Initializing
service is opened, but has not finished initializing
eNSS_Ok
service is initialized ok
eNSS_Failed
service has failed initializing in some way
eNSS_Closed
service has been closed
EPunkType Enumeration
C++
enum EPunkType {
  ePT_NotResponding,
  ePT_ChangedVars,
  ePT_ModifiedCode,
  ePT_ModifiedFile,
  ePT_NetProtocol
};
File

INetwork.h

ERMIAttachmentType Enumeration
C++
enum ERMIAttachmentType {
  eRAT_PreAttach = 0,
  eRAT_PostAttach = 1,
  eRAT_NoAttach,
  eRAT_Urgent,
  eRAT_Independent,
  eRAT_NumAttachmentTypes
};
File

INetwork.h

Members
Members
Description
eRAT_Urgent
urgent RMIs will be sent at the next sync with game N.B. use with caution as this will increase bandwidth
eRAT_Independent
If an RMI doesn't care about the object update, then use independent RMIs as they can be sent in the urgent RMI flush
eRAT_NumAttachmentTypes
Must be last.
Description

Implementation of CContextView relies on the first two values being as they are.

EServerBrowserError Enumeration
C++
enum EServerBrowserError {
  eSBE_General,
  eSBE_ConnectionFailed,
  eSBE_DuplicateUpdate
};
File

INetworkService.h

EServerReportError Enumeration
C++
enum EServerReportError {
  eSRE_noerror,
  eSRE_socket,
  eSRE_connect,
  eSRE_noreply,
  eSRE_other
};
File

INetworkService.h

Members
Members
Description
eSRE_noerror
Everything is ok.
eSRE_socket
Socket problem: creation,bind, etc.
eSRE_connect
Connection problem, DNS, server unreachable, NAT etc.
eSRE_noreply
No reply from the other end.
eSRE_other
Something happened.
EStatsTrackError Enumeration
C++
enum EStatsTrackError {
  eSTE_noerror,
  eSTE_socket,
  eSTE_connect,
  eSTE_noreply,
  eSTE_other
};
File

INetworkService.h

Members
Members
Description
eSTE_noerror
Everything is ok.
eSTE_socket
Socket problem: creation,bind, etc.
eSTE_connect
Connection problem, DNS, server unreachable, NAT etc.
eSTE_noreply
No reply from the other end.
eSTE_other
Something happened.
ESynchObjectResult Enumeration
C++
enum ESynchObjectResult {
  eSOR_Ok,
  eSOR_Failed,
  eSOR_Skip
};
File

INetwork.h

EUserStatus Enumeration
C++
enum EUserStatus {
  eUS_offline = 0,
  eUS_online,
  eUS_playing,
  eUS_staging,
  eUS_chatting,
  eUS_away
};
File

INetworkService.h