Skip to main content

Publicity

Enum Publicity 

Source
pub enum Publicity {
    Private,
    Public,
    Delegated,
}
Expand description

Publication visibility of an entity — the shared axis used on both sides of the connection.

On the server, Publicity is embedded in ReplicationConfig and controls how an entity replicates to clients. On the client, Publicity is passed directly to EntityMut::configure_replication.

The three variants represent the full lifecycle of a client-authoritative entity:

Server spawns → Delegated
    ↓  client requests authority
Client holds → Private  (not yet published)
    ↓  client publishes
All peers see → Public
    ↓  client releases or server revokes
Server resumes → Delegated / Public

Variants§

§

Private

The entity is owned by a client but not yet visible to other peers.

Used while a client is constructing or preparing an entity before choosing to publish it. Server-spawned entities are never Private.

§

Public

The entity replicates to all peers that share a room and scope with it.

The default state for server-spawned entities. A client sets an entity Public to make its own client-spawned entity visible to other clients.

§

Delegated

The server can delegate authority over this entity to a client.

When a server entity is configured Delegated, clients may call Client::entity_request_authority to request ownership. The server grants or denies the request via EntityAuthGrantedEvent or EntityAuthDeniedEvent. While a client holds authority its mutations replicate back to the server; the server can revoke at any time.

Implementations§

Source§

impl Publicity

Source

pub fn is_delegated(&self) -> bool

Returns true if this is Publicity::Delegated.

Trait Implementations§

Source§

impl Clone for Publicity

Source§

fn clone(&self) -> Publicity

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Publicity

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Publicity

Source§

fn eq(&self, other: &Publicity) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Publicity

Source§

impl Eq for Publicity

Source§

impl StructuralPartialEq for Publicity

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V