12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="PacketPeer" inherits="Reference" category="Core" version="3.1.2">
- <brief_description>
- Abstraction and base class for packet-based protocols.
- </brief_description>
- <description>
- 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.
- </description>
- <tutorials>
- </tutorials>
- <methods>
- <method name="get_available_packet_count" qualifiers="const">
- <return type="int">
- </return>
- <description>
- Returns the number of packets currently available in the ring-buffer.
- </description>
- </method>
- <method name="get_packet">
- <return type="PoolByteArray">
- </return>
- <description>
- Get a raw packet.
- </description>
- </method>
- <method name="get_packet_error" qualifiers="const">
- <return type="int" enum="Error">
- </return>
- <description>
- Returns the error state of the last packet received (via [method get_packet] and [method get_var]).
- </description>
- </method>
- <method name="get_var">
- <return type="Variant">
- </return>
- <argument index="0" name="allow_objects" type="bool" default="false">
- </argument>
- <description>
- Get a Variant. When [code]allow_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] decoding objects is allowed.
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
- </description>
- </method>
- <method name="put_packet">
- <return type="int" enum="Error">
- </return>
- <argument index="0" name="buffer" type="PoolByteArray">
- </argument>
- <description>
- Send a raw packet.
- </description>
- </method>
- <method name="put_var">
- <return type="int" enum="Error">
- </return>
- <argument index="0" name="var" type="Variant">
- </argument>
- <argument index="1" name="full_objects" type="bool" default="false">
- </argument>
- <description>
- Send a Variant as a packet. When [code]full_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] encoding objects is allowed (and can potentially include code).
- </description>
- </method>
- </methods>
- <members>
- <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed">
- Deprecated. Use [code]get_var[/code] and [code]put_var[/code] parameters instead.
- If [code]true[/code] the PacketPeer will allow encoding and decoding of object via [method get_var] and [method put_var].
- [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
- </member>
- </members>
- <constants>
- </constants>
- </class>
|