ENetCloseResult

Includes.

Choose your operating system:

Windows

macOS

Linux

References

Module

NetCore

Header

/Engine/Source/Runtime/Net/Core/Public/Net/Core/Connection/NetCloseResult.h

Include

#include "Net/Core/Connection/NetCloseResult.h"

Syntax

enum ENetCloseResult
{
    NetDriverAlreadyExists,
    NetDriverCreateFailure,
    NetDriverListenFailure,
    ConnectionLost,
    ConnectionTimeout,
    FailureReceived,
    OutdatedClient,
    OutdatedServer,
    PendingConnectionFailure,
    NetGuidMismatch,
    NetChecksumMismatch,
    SecurityMalformedPacket,
    SecurityInvalidData,
    SecurityClosed,
    Unknown,
    Success,
    Extended,
    RPCDoS,
    Cleanup,
    MissingLevelPackage,
    PacketHandlerIncomingError,
    ZeroLastByte,
    ZeroSize,
    ReadHeaderFail,
    ReadHeaderExtraFail,
    AckSequenceMismatch,
    BunchBadChannelIndex,
    BunchChannelNameFail,
    BunchWrongChannelType,
    BunchHeaderOverflow,
    BunchDataOverflow,
    BunchPrematureControlChannel,
    BunchPrematureChannel,
    BunchPrematureControlClose,
    UnknownChannelType,
    PrematureSend,
    CorruptData,
    SocketSendFailure,
    BadChildConnectionIndex,
    LogLimitInstant,
    LogLimitSustained,
    ReceivedNetGUIDBunchFail,
    MaxReliableExceeded,
    ReceivedNextBunchFail,
    ReceivedNextBunchQueueFail,
    PartialInitialReliableDestroy,
    PartialMergeReliableDestroy,
    PartialInitialNonByteAligned,
    PartialNonByteAligned,
    PartialFinalPackageMapExports,
    PartialTooLarge,
    AlreadyOpen,
    ReliableBeforeOpen,
    ReliableBufferOverflow,
    ControlChannelClose,
    ControlChannelEndianCheck,
    ControlChannelPlayerChannelFail,
    ControlChannelMessageUnknown,
    ControlChannelMessageFail,
    ControlChannelMessagePayloadFail,
    ControlChannelBunchOverflowed,
    ControlChannelQueueBunchOverflowed,
    ClientHasMustBeMappedGUIDs,
    UnregisteredMustBeMappedGUID,
    ObjectReplicatorReceivedBunchFail,
    ContentBlockFail,
    ContentBlockHeaderRepLayoutFail,
    ContentBlockHeaderIsActorFail,
    ContentBlockHeaderObjFail,
    ContentBlockHeaderPrematureEnd,
    ContentBlockHeaderSubObjectActor,
    ContentBlockHeaderBadParent,
    ContentBlockHeaderInvalidCreate,
    ContentBlockHeaderStablyNamedFail,
    ContentBlockHeaderNoSubObjectClass,
    ContentBlockHeaderUObjectSubObject,
    ContentBlockHeaderAActorSubObject,
    ContentBlockHeaderFail,
    ContentBlockPayloadBitsFail,
    FieldHeaderRepIndex,
    FieldHeaderBadRepIndex,
    FieldHeaderPayloadBitsFail,
    FieldPayloadFail,
    FaultDisconnect,
    NotRecoverable,
}

Values

Name

Description

NetDriverAlreadyExists

ENetworkFailure values A relevant net driver has already been created for this service

NetDriverCreateFailure

The net driver creation failed

NetDriverListenFailure

The net driver failed its Listen() call

ConnectionLost

A connection to the net driver has been lost

ConnectionTimeout

A connection to the net driver has timed out

FailureReceived

The net driver received an NMT_Failure message

OutdatedClient

The client needs to upgrade their game

OutdatedServer

The server needs to upgrade their game

PendingConnectionFailure

There was an error during connection to the game

NetGuidMismatch

NetGuid mismatch

NetChecksumMismatch

Network checksum mismatch

SecurityMalformedPacket

ESecurityEvent values The packet didn't follow protocol

SecurityInvalidData

The packet contained invalid data

SecurityClosed

The connection had issues (possibly malicious) and was closed

Unknown

Base result types Default state (do not move the position of this in enum)

Success

Close was successful, happening under normal conditions

Extended

Extended/custom ErrorContext state. To be interpreted by code

RPCDoS

NetConnection Error result types RPC DoS Detection kicked the player

Cleanup

NetConnection Cleanup was triggered

MissingLevelPackage

UpdateLevelVisibility missing level package

PacketHandlerIncomingError

PacketHandler Error processing incoming packet

ZeroLastByte

Packet had zeros in the last byte

ZeroSize

Zero size packet

ReadHeaderFail

Failed to read PacketHeader

ReadHeaderExtraFail

Failed to read extra PacketHeader information

AckSequenceMismatch

Sequence mismatch while processing acks

BunchBadChannelIndex

Bunch channel index exceeds maximum channel limit

BunchChannelNameFail

Bunch channel name serialization failed

BunchWrongChannelType

Bunch specified wrong channel type for an existing channel

BunchHeaderOverflow

Bunch header serialization overflowed

BunchDataOverflow

Bunch data serialization overflowed

BunchPrematureControlChannel

Received control channel bunch before control channel was created

BunchPrematureChannel

Received non-control-channel bunch when not yet ready

BunchPrematureControlClose

Received control channel close before open

UnknownChannelType

Unknown channel type specified

PrematureSend

Attempted to send data before handshake is complete

CorruptData

Server received corrupt data from the client - or there was otherwise an error during channel processing

SocketSendFailure

Socket send failure

BadChildConnectionIndex

Failed to find splitscreen player matching ChildConnection NetPlayerIndex

LogLimitInstant

Log limiting per-second checks insta-kicked the player

LogLimitSustained

Log limiting repeated threshold hits kicked the player

ReceivedNetGUIDBunchFail

Channel Error result types ReceiveNetGUIDBunch serialization failed

MaxReliableExceeded

Too many reliable bunches queued

ReceivedNextBunchFail

ReceivedNextBunch serialization failed

ReceivedNextBunchQueueFail

Queued ReceivedNextBunch serialization failed

PartialInitialReliableDestroy

Reliable partial initial bunch attempting to destroy incomplete reliable partial bunch

PartialMergeReliableDestroy

Reliable partial merge bunch attempting to destroy incomplete reliable partial bunch

PartialInitialNonByteAligned

Partial initial bunch which is not byte aligned

PartialNonByteAligned

Non-final partial bunch which is not byte aligned

PartialFinalPackageMapExports

Final partial bunch has package map exports

PartialTooLarge

Partial bunch exceeded maximum partial bunch size

AlreadyOpen

Received open bunch when channel already open

ReliableBeforeOpen

Received reliable bunch before channel was fully open

ReliableBufferOverflow

Reliable buffer overflowed when attempting to send

ControlChannelClose

Control Channel result types Control channel closing

ControlChannelEndianCheck

Endianness check failed

ControlChannelPlayerChannelFail

The ActorChannel for the connections PlayerController failed

ControlChannelMessageUnknown

Received unknown control channel message

ControlChannelMessageFail

Failed to read control channel message

ControlChannelMessagePayloadFail

Failed to read control channel message payload

ControlChannelBunchOverflowed

Control channel send bunch overflowed

ControlChannelQueueBunchOverflowed

Queued control channel send bunch overflowed

ClientHasMustBeMappedGUIDs

Actor Channel Error result types Client tried to set bHasMustBeMappedGUIDs

UnregisteredMustBeMappedGUID

Received MustBeMappedGUID that isn't registered

ObjectReplicatorReceivedBunchFail

FObjectReplicator ReceivedBunch failed

ContentBlockFail

Content block serialization failed

ContentBlockHeaderRepLayoutFail

Content block header bOutHasRepLayout serialization failed

ContentBlockHeaderIsActorFail

Content block header bIsActor serialization failed

ContentBlockHeaderObjFail

Content block header object serialization failed

ContentBlockHeaderPrematureEnd

Reached end of bunch prematurely, after reading content block header

ContentBlockHeaderSubObjectActor

Content block header sub-object was an Actor

ContentBlockHeaderBadParent

Content block header sub-object not in parent actor

ContentBlockHeaderInvalidCreate

The client tried to create a sub-object

ContentBlockHeaderStablyNamedFail

Content block header bStablyNamed serialization failed

ContentBlockHeaderNoSubObjectClass

Content block header unable to ready sub-object class

ContentBlockHeaderUObjectSubObject

Content block header sub-object was UObject base class

ContentBlockHeaderAActorSubObject

Content block header sub-object was an AActor subclass

ContentBlockHeaderFail

Content block header serialization failed

ContentBlockPayloadBitsFail

Content block payload NumPayloadBits serialization failed

FieldHeaderRepIndex

Field header RepIndex serialization failed

FieldHeaderBadRepIndex

Field header RepIndex exceeds maximum index limit

FieldHeaderPayloadBitsFail

Field header payload NumPayloadBits serialization failed

FieldPayloadFail

Field payload serialization failed

FaultDisconnect

Fault Handler Error result types Net Fault Recovery failed to recover from a fault, and is triggering a disconnect

NotRecoverable

PacketHandler Error result types Marks a PacketHandler/HandlerComponent error, that is not recoverable

Remarks

Network Close results (can occur before NetDriver/NetConnection creation, and can be success or error)

Licensees should use ENetCloseResult::Extended, and specify an ErrorContext value to FNetCloseResult, to specify custom results

If you modify this, run the enum-checking smoke test to verify you didn't forget to update anything else: System.Core.Networking.FNetCloseResult.EnumTest