[][src]Struct gdnative::api::NetworkedMultiplayerPeer

pub struct NetworkedMultiplayerPeer { /* fields omitted */ }

core class NetworkedMultiplayerPeer 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

NetworkedMultiplayerPeer 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 NetworkedMultiplayerPeer[src]

Constants

impl NetworkedMultiplayerPeer[src]

pub fn get_connection_status(&self) -> ConnectionStatus[src]

Returns the current state of the connection. See [enum ConnectionStatus].

pub fn get_packet_peer(&self) -> i64[src]

Returns the ID of the [NetworkedMultiplayerPeer] who sent the most recent packet.

pub fn transfer_mode(&self) -> TransferMode[src]

The manner in which to send packets to the [code]target_peer[/code]. See [enum TransferMode].

pub fn get_unique_id(&self) -> i64[src]

Returns the ID of this [NetworkedMultiplayerPeer].

pub fn is_refusing_new_connections(&self) -> bool[src]

If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new connections.

pub fn poll(&self)[src]

Waits up to 1 second to receive a new network event.

pub fn set_refuse_new_connections(&self, enable: bool)[src]

If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new connections.

pub fn set_target_peer(&self, id: i64)[src]

Sets the peer to which packets will be sent.
				The [code]id[/code] can be one of: [constant TARGET_PEER_BROADCAST] to send to all connected peers, [constant TARGET_PEER_SERVER] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. By default, the target peer is [constant TARGET_PEER_BROADCAST].

pub fn set_transfer_mode(&self, mode: i64)[src]

The manner in which to send packets to the [code]target_peer[/code]. See [enum TransferMode].

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]

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 NetworkedMultiplayerPeer[src]

impl Deref for NetworkedMultiplayerPeer[src]

type Target = PacketPeer

The resulting type after dereferencing.

impl DerefMut for NetworkedMultiplayerPeer[src]

impl GodotObject for NetworkedMultiplayerPeer[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

impl SubClass<NetworkedMultiplayerPeer> for WebSocketServer[src]

impl SubClass<NetworkedMultiplayerPeer> for NetworkedMultiplayerENet[src]

impl SubClass<NetworkedMultiplayerPeer> for WebSocketMultiplayerPeer[src]

impl SubClass<NetworkedMultiplayerPeer> for WebRTCMultiplayer[src]

impl SubClass<NetworkedMultiplayerPeer> for WebSocketClient[src]

impl SubClass<NetworkedMultiplayerPeer> for MultiplayerPeerGDNative[src]

impl SubClass<Object> for NetworkedMultiplayerPeer[src]

impl SubClass<PacketPeer> for NetworkedMultiplayerPeer[src]

impl SubClass<Reference> for NetworkedMultiplayerPeer[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.