Skip to content

Commit b1efc1b

Browse files
committed
Compare changes using RepliconTick
After #553, we now store a `RepliconTick` per entity. This allows us to simplify acknowledgment by comparing against it instead of comparing by `Tick`.
1 parent 1923eeb commit b1efc1b

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

src/server.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ fn cleanup_acks(
249249
}
250250

251251
fn receive_acks(
252-
change_tick: SystemChangeTick,
253252
mut messages: ResMut<ServerMessages>,
254253
mut pools: ResMut<ClientPools>,
255254
mut clients: Query<&mut ClientTicks>,
@@ -263,9 +262,7 @@ fn receive_acks(
263262
"messages from client `{client}` should have been removed on disconnect"
264263
)
265264
});
266-
if let Some(mut entities) =
267-
ticks.ack_mutate_message(client, change_tick.this_run(), mutate_index)
268-
{
265+
if let Some(mut entities) = ticks.ack_mutate_message(client, mutate_index) {
269266
entities.clear();
270267
pools.entities.push(entities);
271268
}

src/shared/replication/client_ticks.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ impl ClientTicks {
9999
pub(crate) fn ack_mutate_message(
100100
&mut self,
101101
client: Entity,
102-
this_run: Tick,
103102
mutate_index: MutateIndex,
104103
) -> Option<Vec<Entity>> {
105104
let Some(mutate_info) = self.mutations.remove(&mutate_index) else {
@@ -115,7 +114,7 @@ impl ClientTicks {
115114

116115
// Received tick could be outdated because we bump it
117116
// if we detect any insertion on the entity in `collect_changes`.
118-
if !system_tick.is_newer_than(mutate_info.system_tick, this_run) {
117+
if *server_tick < mutate_info.server_tick {
119118
*system_tick = mutate_info.system_tick;
120119
*server_tick = mutate_info.server_tick;
121120
}

0 commit comments

Comments
 (0)