Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2002:
[Freeciv-Dev] Re: packet batches? (was: [Patch] Making city report list
Home

[Freeciv-Dev] Re: packet batches? (was: [Patch] Making city report list

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: packet batches? (was: [Patch] Making city report list faster)
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 10 Jun 2002 20:18:48 +0200

On Mon, Jun 10, 2002 at 08:07:42PM +0200, Reinier Post wrote:
> On Mon, Jun 10, 2002 at 07:36:32PM +0200, Raimar Falke wrote:
> > On Mon, Jun 10, 2002 at 06:18:54PM +0200, Reinier Post wrote:
> > > >   (It looks like it does this by monitoring the request ID, which is a 
> > > > direct result of work for the CMA.  This is also a bit of a hack, and 
> > > > probably a bit unstable in the long term as well.)
> > > 
> > > Requests may fail.  Raimar sends failure notifications.
> > > But what happens if CMA is disabled?
> > 
> > The old network protocol is too relaxed to allow client side AI. It
> > works ok for human players but not for programs. Basic problem is:
> > "when is my request executed?" (so at the time you know that your
> > request got executed you can check if the data that you expected is
> > send by the server or in other words you can check if the server has
> > executed what you have calculated).
> 
> This is only a problem if calculations are predictions, based on
> requested values.

> If all your requests succeed, changes from other sources can still
> make your predictions inaccurate.

Yes. This is the reason why the CMA has a build in retry. But for a
retry you first have to know wheither a request has failed or not.

> But I can
> imagine that just keeping track of whether requests succeed
> is "close enough" in many cases.
> 
> > All server response of one request is send in a batch.
> 
> A response batch contains all packets generated in response to
> a single change request, even when they are sent in a batch.
> But I don't know much about TCP/IP, perhaps the responses
> will usually arrive in a single burst.

The client doesn't know about TCP/IP packets. Not even the socket
interface will give you this info. TCP is presented as a stream.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Despite all the medical advances of the 20th century, the mortality 
  rate remains unchanged at 1 death per person."


[Prev in Thread] Current Thread [Next in Thread]