Skip to main content

elura_netcode/
lib.rs

1//! Transport-independent realtime netcode primitives.
2//!
3//! This crate provides client/server tick estimation, bounded redundant input history, cumulative
4//! acknowledgements, replay-safe out-of-order input reception, client prediction reconciliation,
5//! adaptive remote-state interpolation, and predicted-entity matching. It deliberately does not
6//! open sockets, create tasks, simulate game rules, or interpolate application state itself.
7
8#![deny(missing_docs)]
9#![deny(rustdoc::broken_intra_doc_links)]
10
11mod entity_prediction;
12mod error;
13mod input;
14mod interpolation;
15mod prediction;
16mod tick_sync;
17
18pub use entity_prediction::{
19    EntityMatch, PredictedEntity, PredictedEntityConfig, PredictedEntityMatcher, PredictionKey,
20    PredictionKeyGenerator,
21};
22pub use error::{NetcodeError, NetcodeResult};
23pub use input::{
24    InputAck, InputFrame, InputPacket, InputReceiveReport, InputReceiver, InputReceiverConfig,
25    InputSender, InputSenderConfig, SequenceDisposition, SequenceWindow,
26};
27pub use interpolation::{
28    InterpolationBuffer, InterpolationConfig, InterpolationInsert, InterpolationSample,
29    InterpolationStats,
30};
31pub use prediction::{PredictionBuffer, PredictionConfig, PredictionFrame, ReconciliationReport};
32pub use tick_sync::{
33    TickSyncConfig, TickSyncReport, TickSyncRequest, TickSyncResponse, TickSyncSample,
34    TickSynchronizer,
35};