PacketPeer

Abstraction and base class for packet-based protocols.

PacketPeer is an abstraction and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low-level bytes or having to worry about network ordering.

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Functions

getAvailablePacketCount
long getAvailablePacketCount()

Returns the number of packets currently available in the ring-buffer.

getEncodeBufferMaxSize
long getEncodeBufferMaxSize()
getPacket
PoolByteArray getPacket()

Gets a raw packet.

getPacketError
GodotError getPacketError()

Returns the error state of the last packet received (via getPacket and getVar).

getVar
Variant getVar(bool allow_objects)

Gets a Variant. If allow_objects (or allowObjectDecoding) is true, decoding objects is allowed. Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.

isObjectDecodingAllowed
bool isObjectDecodingAllowed()
opAssign
typeof(null) opAssign(typeof(null) n)
opEquals
bool opEquals(PacketPeer other)
opEquals
bool opEquals(typeof(null) n)
putPacket
GodotError putPacket(PoolByteArray buffer)

Sends a raw packet.

putVar
GodotError putVar(VariantArg0 var, bool full_objects)

Sends a Variant as a packet. If full_objects (or allowObjectDecoding) is true, encoding objects is allowed (and can potentially include code).

setAllowObjectDecoding
void setAllowObjectDecoding(bool enable)
setEncodeBufferMaxSize
void setEncodeBufferMaxSize(long max_size)
toHash
size_t toHash()

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Properties

allowObjectDecoding
bool allowObjectDecoding [@property getter]
bool allowObjectDecoding [@property setter]

Deprecated. Use get_var and put_var parameters instead. If true, the PacketPeer will allow encoding and decoding of object via getVar and putVar. Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.

encodeBufferMaxSize
long encodeBufferMaxSize [@property getter]
long encodeBufferMaxSize [@property setter]

Maximum buffer size allowed when encoding Variants. Raise this value to support heavier memory allocations. The putVar method allocates memory on the stack, and the buffer used will grow automatically to the closest power of two to match the size of the Variant. If the Variant is bigger than encode_buffer_max_size, the method will error out with constant ERR_OUT_OF_MEMORY.

Static functions

_new
PacketPeer _new()

Construct a new instance of PacketPeer. Note: use memnew!PacketPeer instead.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

GDNativeClassBinding
struct GDNativeClassBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(ToRef) as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta