Skip to main content

TickSynchronizer

Struct TickSynchronizer 

Source
pub struct TickSynchronizer { /* private fields */ }
Expand description

Client-side estimator for authoritative server Tick position.

Implementations§

Source§

impl TickSynchronizer

Source

pub fn new(config: TickSyncConfig) -> NetcodeResult<Self>

Creates an estimator with no accepted samples.

Source

pub fn observe( &mut self, sample: TickSyncSample, ) -> NetcodeResult<TickSyncReport>

Observes one response and updates RTT and Tick-offset estimates.

The server Tick is defined at response send time. Half the network RTT is therefore added before comparing it with the client’s Tick at response receipt.

Source

pub fn estimate_server_tick(&self, local_tick: f64) -> f64

Estimates the server’s fractional Tick at a given local fractional Tick.

Source

pub fn recommended_input_tick(&self, local_tick: f64) -> u64

Chooses the next authoritative input Tick using the configured input delay.

Source

pub fn offset_ticks(&self) -> f64

Returns the smoothed server-minus-client Tick offset.

Source

pub fn network_round_trip_time(&self) -> Option<Duration>

Returns the smoothed network RTT after subtracting server processing.

Source

pub fn samples(&self) -> u64

Returns the number of accepted synchronization samples.

Trait Implementations§

Source§

impl Clone for TickSynchronizer

Source§

fn clone(&self) -> TickSynchronizer

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 TickSynchronizer

Source§

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

Formats the value using the given formatter. Read more

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.