pub(crate) enum ScheduledPacketExecution {
PlayerLocal,
Serialized,
Exclusive,
}Expand description
Cross-player concurrency permitted for a scheduled packet handler.
Variants§
PlayerLocal
The handler may overlap handlers for other players, but never its own player lane.
Shared mutations must be fully linearized by their resource locks, and the handler must tolerate cross-player execution order differing from packet submission order.
Serialized
The handler may overlap player-local work, but not another serialized handler. Serialized handlers start in global packet submission order.
Exclusive
The handler is a global submission-order barrier and must not overlap scheduled work.
Trait Implementations§
Source§impl Clone for ScheduledPacketExecution
impl Clone for ScheduledPacketExecution
Source§fn clone(&self) -> ScheduledPacketExecution
fn clone(&self) -> ScheduledPacketExecution
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ScheduledPacketExecution
Source§impl Debug for ScheduledPacketExecution
impl Debug for ScheduledPacketExecution
impl Eq for ScheduledPacketExecution
Source§impl PartialEq for ScheduledPacketExecution
impl PartialEq for ScheduledPacketExecution
impl StructuralPartialEq for ScheduledPacketExecution
Auto Trait Implementations§
impl Freeze for ScheduledPacketExecution
impl RefUnwindSafe for ScheduledPacketExecution
impl Send for ScheduledPacketExecution
impl Sync for ScheduledPacketExecution
impl Unpin for ScheduledPacketExecution
impl UnsafeUnpin for ScheduledPacketExecution
impl UnwindSafe for ScheduledPacketExecution
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compares
self with key and returns true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>