Enum bones_framework::networking::SyncingInfo
source · pub enum SyncingInfo {
Online {
current_frame: i32,
last_confirmed_frame: i32,
socket: Socket,
players_network_stats: SVec<PlayerNetworkStats>,
local_player_idx: usize,
local_frame_delay: usize,
disconnected_players: SVec<usize>,
random_seed: u64,
},
Offline {
current_frame: i32,
random_seed: u64,
},
}
Expand description
Resource updated each frame exposing syncing/networking information in the current session.
Variants§
Online
Holds data for an online session
Fields
last_confirmed_frame: i32
Last confirmed frame by all clients. Anything that occurred on this frame is agreed upon by all clients.
players_network_stats: SVec<PlayerNetworkStats>
Networking stats for each connected player, stored at the [player_idx] index for each respective player.
Offline
Holds data for an offline session
Implementations§
source§impl SyncingInfo
impl SyncingInfo
sourcepub fn is_offline(&self) -> bool
pub fn is_offline(&self) -> bool
Checks if the session is offline.
sourcepub fn current_frame(&self) -> i32
pub fn current_frame(&self) -> i32
Getter for the current frame (number).
sourcepub fn last_confirmed_frame(&self) -> i32
pub fn last_confirmed_frame(&self) -> i32
Getter for the last confirmed frame (number).
sourcepub fn socket_mut(&mut self) -> Option<&mut Socket>
pub fn socket_mut(&mut self) -> Option<&mut Socket>
Mutable getter for socket.
sourcepub fn player_network_stats(
&self,
player_idx: usize,
) -> Option<PlayerNetworkStats>
pub fn player_network_stats( &self, player_idx: usize, ) -> Option<PlayerNetworkStats>
Getter for a single player’s network stats using their player_idx
sourcepub fn players_network_stats(&self) -> SVec<PlayerNetworkStats>
pub fn players_network_stats(&self) -> SVec<PlayerNetworkStats>
Getter for all players’ network stats, including local player (set to default). This maintains index == player_idx.
sourcepub fn remote_players_network_stats(&self) -> SVec<PlayerNetworkStats>
pub fn remote_players_network_stats(&self) -> SVec<PlayerNetworkStats>
Getter for remote player network stats (filtering out local player). This does not maintain index == player_idx.
sourcepub fn total_kbps_sent(&self) -> usize
pub fn total_kbps_sent(&self) -> usize
Calculates the total kilobits per second sent across all remote players.
sourcepub fn averaged_kbps_sent(&self) -> f32
pub fn averaged_kbps_sent(&self) -> f32
Calculates the average kilobits per second sent across all remote players.
sourcepub fn highest_local_frames_behind(&self) -> i32
pub fn highest_local_frames_behind(&self) -> i32
Returns the highest number of local frames behind across all remote players.
sourcepub fn highest_remote_frames_behind(&self) -> i32
pub fn highest_remote_frames_behind(&self) -> i32
Returns the highest number of remote frames behind across all remote players.
sourcepub fn averaged_ping(&self) -> u128
pub fn averaged_ping(&self) -> u128
Calculates the average ping across all remote players.
sourcepub fn lowest_ping(&self) -> u128
pub fn lowest_ping(&self) -> u128
Returns the lowest ping across all remote players.
sourcepub fn highest_ping(&self) -> u128
pub fn highest_ping(&self) -> u128
Returns the highest ping across all remote players.
sourcepub fn local_player_idx_checked(&self) -> Option<usize>
pub fn local_player_idx_checked(&self) -> Option<usize>
Getter for the local player index, if offline defaults to None.
sourcepub fn local_player_idx(&self) -> usize
pub fn local_player_idx(&self) -> usize
Getter for the local player index, if offline defaults to 0.
sourcepub fn local_frame_delay(&self) -> usize
pub fn local_frame_delay(&self) -> usize
Getter for the local frame delay.
sourcepub fn players_count(&self) -> usize
pub fn players_count(&self) -> usize
Getter for the number of players, if offline defaults to 0.
sourcepub fn players_count_checked(&self) -> Option<usize>
pub fn players_count_checked(&self) -> Option<usize>
Getter for the number of players, if offline defaults to None.
sourcepub fn active_players(&self) -> SVec<usize>
pub fn active_players(&self) -> SVec<usize>
Getter for the list of active players (idx) which are connected. Offline returns empty list.
sourcepub fn active_players_checked(&self) -> Option<SVec<usize>>
pub fn active_players_checked(&self) -> Option<SVec<usize>>
Getter for the list of active players (idx) which are connected. Offline returns None.
sourcepub fn disconnected_players(&self) -> SVec<usize>
pub fn disconnected_players(&self) -> SVec<usize>
Getter for the list of players which have been disconnected (their idx). Offline returns empty list.
sourcepub fn disconnected_players_checked(&self) -> Option<SVec<usize>>
pub fn disconnected_players_checked(&self) -> Option<SVec<usize>>
Getter for the list of players which have been disconnected (their idx). Offline returns None.
sourcepub fn random_seed(&self) -> u64
pub fn random_seed(&self) -> u64
Getter for the random seed.
Trait Implementations§
source§impl Clone for SyncingInfo
impl Clone for SyncingInfo
source§fn clone(&self) -> SyncingInfo
fn clone(&self) -> SyncingInfo
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl HasSchema for SyncingInfo
impl HasSchema for SyncingInfo
source§fn register_schema()
fn register_schema()
source§fn cast<T>(this: &Self) -> &Twhere
T: HasSchema,
fn cast<T>(this: &Self) -> &Twhere
T: HasSchema,
source§fn try_cast<T>(this: &Self) -> Result<&T, SchemaMismatchError>where
T: HasSchema,
fn try_cast<T>(this: &Self) -> Result<&T, SchemaMismatchError>where
T: HasSchema,
source§fn cast_mut<T>(this: &mut Self) -> &mut Twhere
T: HasSchema,
fn cast_mut<T>(this: &mut Self) -> &mut Twhere
T: HasSchema,
source§fn try_cast_mut<T>(this: &mut Self) -> Result<&mut T, SchemaMismatchError>where
T: HasSchema,
fn try_cast_mut<T>(this: &mut Self) -> Result<&mut T, SchemaMismatchError>where
T: HasSchema,
source§fn as_schema_ref(&self) -> SchemaRef<'_>where
Self: Sized,
fn as_schema_ref(&self) -> SchemaRef<'_>where
Self: Sized,
T
to a SchemaRef
source§fn as_schema_mut(&mut self) -> SchemaRefMut<'_>where
Self: Sized,
fn as_schema_mut(&mut self) -> SchemaRefMut<'_>where
Self: Sized,
T
to a SchemaRefMut
Auto Trait Implementations§
impl Freeze for SyncingInfo
impl !RefUnwindSafe for SyncingInfo
impl Send for SyncingInfo
impl Sync for SyncingInfo
impl Unpin for SyncingInfo
impl !UnwindSafe for SyncingInfo
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoArcAny for T
impl<T> IntoArcAny for T
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.