Complete.Org: Mailing Lists: Archives: freeciv-dev: September 1999:
[Freeciv-Dev] Re: release plans
Home

[Freeciv-Dev] Re: release plans

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv Development <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: release plans
From: Peter Schaefer <schaefer@xxxxxx>
Date: Mon, 27 Sep 1999 13:38:28 +0200

David Pfitzner wrote:
> 
> Artur Biesiadowski wrote:
> 
> > I would consider one more thing for stable release - optional packets I
> > was talking about some time ago. They would allow extending
> > server/client without breaking compatibility with new non-critical
> > packets like reports/autosettler hints/etc.
> 
> You can already do this to some extent by adding non-required
> tags to the capability string, and checking has_capability().
> So I don't see a huge advantage to "optional packets".
> 
> But also: have you designed, implemented, tested, and debugged
> code for optional packets?  Otherwise its getting a bit late
> to go into 1.9.0 even if it would be desirable.
> 
> -- David

Some new packet types have been added in the past without adding
compatibility checks for it - this was handled most of the time
by declaring the version incompatible with previous versions.
Quite a lot of the new packet types didn't have any sophisticated,
or structured payload - some just transported an integer.
If there was a generic packet type available like:
 ---------------
| key | payload |
 ---------------
For example  ("tutor_suggestion", "build_city") or (ID_play sound, SOUND_bomb).
Then the server could negotiate with the client which packets the client
will accept.

One concern here would be that this makes packets large,
but you could have a "vector" packet type to handle that:
 ---------------------------------------------------------------
| length | type | key | payload 0 | payload 1 | ... | payload n |               
 ---------------------------------------------------------------
Only a select few of the contributors have used the capability string.
While more should use it, the capability string would get very long if 
you had to include a capability indicator for every packet type.

-- 
Peter Schäfer - mailto:schaefer@xxxxxx, schaefer@xxxxxx

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