Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2005:
[Freeciv-Dev] (PR#12530) CMA: Campos has changed multiple times due to a
Home

[Freeciv-Dev] (PR#12530) CMA: Campos has changed multiple times due to a

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: nicolau.saldanha@xxxxxxxxx
Subject: [Freeciv-Dev] (PR#12530) CMA: Campos has changed multiple times due to an error in Freeciv.
From: "Benoit Hudson" <bh@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 21 Apr 2005 20:32:25 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12530 >

I made a patch for this a while back but something gobbled
up my message it seems.

I've been playing with this a while and I never see the "changed
multiple times" error anymore.  Pity it didn't make it in to 2.0.0

The error, and how this fixes it:
The GAME_STATE packet includes clearing the delta caches.
Currently, the server sends that packet and immediately clears
both send and receive caches.

However, if it so happens that the GAME_STATE packet is in
flight and the client sends a packet to the server, the client
sends using its old delta cache, and the server receives using
the new, cleared delta cache.

Fix: the server sends GAME_STATE and clears its outgoing
cache.  Upon receipt, the client clears its caches and sends
a GAME_STATE_ACK.  Finally, when the server gets the ack,
it clears its incoming cache.

Attachment: 12530.diff
Description: Binary data


[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#12530) CMA: Campos has changed multiple times due to an error in Freeciv., Benoit Hudson <=