[−][src]Struct gdnative::api::PacketPeerDTLS
core class PacketPeerDTLS inherits PacketPeer (reference counted).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
PacketPeerDTLS inherits methods from:
Safety
All types in the Godot API have "interior mutability" in Rust parlance.
To enforce that the official thread-safety guidelines are
followed, the typestate pattern is used in the Ref and TRef smart pointers,
and the Instance API. The typestate Access in these types tracks whether the
access is unique, shared, or exclusive to the current thread. For more information,
see the type-level documentation on Ref.
Implementations
impl PacketPeerDTLS[src]
Constants
pub const STATUS_CONNECTED: i64[src]
pub const STATUS_DISCONNECTED: i64[src]
pub const STATUS_ERROR: i64[src]
pub const STATUS_ERROR_HOSTNAME_MISMATCH: i64[src]
pub const STATUS_HANDSHAKING: i64[src]
impl PacketPeerDTLS[src]
pub fn new() -> Ref<PacketPeerDTLS, Unique>[src]
Creates a new instance of this object.
This is a reference-counted type. The returned object is automatically managed
by Ref.
pub fn connect_to_peer(
&self,
packet_peer: impl AsArg<PacketPeerUDP>,
validate_certs: bool,
for_hostname: impl Into<GodotString>,
valid_certificate: impl AsArg<X509Certificate>
) -> Result<(), GodotError>[src]
&self,
packet_peer: impl AsArg<PacketPeerUDP>,
validate_certs: bool,
for_hostname: impl Into<GodotString>,
valid_certificate: impl AsArg<X509Certificate>
) -> Result<(), GodotError>
Connects a [code]peer[/code] beginning the DTLS handshake using the underlying [PacketPeerUDP] which must be connected (see [method PacketPeerUDP.connect_to_host]). If [code]validate_certs[/code] is [code]true[/code], [PacketPeerDTLS] will validate that the certificate presented by the remote peer and match it with the [code]for_hostname[/code] argument. You can specify a custom [X509Certificate] to use for validation via the [code]valid_certificate[/code] argument.
Default Arguments
validate_certs-truefor_hostname-""valid_certificate-null
pub fn disconnect_from_peer(&self)[src]
Disconnects this peer, terminating the DTLS session.
pub fn get_status(&self) -> Status[src]
Returns the status of the connection. See [enum Status] for values.
pub fn poll(&self)[src]
Poll the connection to check for incoming packets. Call this frequently to update the status and keep the connection working.
Methods from Deref<Target = PacketPeer>
pub fn get_available_packet_count(&self) -> i64[src]
Returns the number of packets currently available in the ring-buffer.
pub fn encode_buffer_max_size(&self) -> i64[src]
Maximum buffer size allowed when encoding [Variant]s. Raise this value to support heavier memory allocations.
The [method put_var] 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 [code]encode_buffer_max_size[/code], the method will error out with [constant ERR_OUT_OF_MEMORY].
pub fn get_packet(&self) -> TypedArray<u8>[src]
Gets a raw packet.
pub fn get_packet_error(&self) -> Result<(), GodotError>[src]
Returns the error state of the last packet received (via [method get_packet] and [method get_var]).
pub fn get_var(&self, allow_objects: bool) -> Variant[src]
Gets a Variant. If [code]allow_objects[/code] (or [member allow_object_decoding]) is [code]true[/code], decoding objects is allowed.
[b]Warning:[/b] 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.
Default Arguments
allow_objects-false
pub fn is_object_decoding_allowed(&self) -> bool[src]
[i]Deprecated.[/i] 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 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.
pub fn put_packet(&self, buffer: TypedArray<u8>) -> Result<(), GodotError>[src]
Sends a raw packet.
pub fn put_var(
&self,
var: impl OwnedToVariant,
full_objects: bool
) -> Result<(), GodotError>[src]
&self,
var: impl OwnedToVariant,
full_objects: bool
) -> Result<(), GodotError>
Sends a [Variant] as a packet. If [code]full_objects[/code] (or [member allow_object_decoding]) is [code]true[/code], encoding objects is allowed (and can potentially include code).
Default Arguments
full_objects-false
pub fn set_allow_object_decoding(&self, enable: bool)[src]
[i]Deprecated.[/i] 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 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.
pub fn set_encode_buffer_max_size(&self, max_size: i64)[src]
Maximum buffer size allowed when encoding [Variant]s. Raise this value to support heavier memory allocations.
The [method put_var] 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 [code]encode_buffer_max_size[/code], the method will error out with [constant ERR_OUT_OF_MEMORY].
Trait Implementations
impl Debug for PacketPeerDTLS[src]
impl Deref for PacketPeerDTLS[src]
impl DerefMut for PacketPeerDTLS[src]
fn deref_mut(&mut self) -> &mut PacketPeer[src]
impl GodotObject for PacketPeerDTLS[src]
type RefKind = RefCounted
The memory management kind of this type. This modifies the behavior of the
Ref smart pointer. See its type-level documentation for more
information. Read more
fn class_name() -> &'static str[src]
fn null() -> Null<Self>[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable, [src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>, [src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject, [src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>, [src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>[src]
impl Instanciable for PacketPeerDTLS[src]
fn construct() -> Ref<PacketPeerDTLS, Unique>[src]
impl SubClass<Object> for PacketPeerDTLS[src]
impl SubClass<PacketPeer> for PacketPeerDTLS[src]
impl SubClass<Reference> for PacketPeerDTLS[src]
Auto Trait Implementations
impl RefUnwindSafe for PacketPeerDTLS
impl !Send for PacketPeerDTLS
impl !Sync for PacketPeerDTLS
impl Unpin for PacketPeerDTLS
impl UnwindSafe for PacketPeerDTLS
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject, [src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,