Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2000:
[Freeciv-Dev] Re: Working on client APIs
Home

[Freeciv-Dev] Re: Working on client APIs

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Cc: rf13@xxxxxxxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Working on client APIs
From: Jed Davis <jldavis@xxxxxxxxxxxxxx>
Date: Wed, 19 Jul 2000 21:53:30 -0400

--On Tuesday, 18 July 2000 10:35 +0200 Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

On Mon, Jul 17, 2000 at 10:43:57PM -0400, Jed Davis wrote:
Oops.  I read "client-side AI" and for some reason thought "integrated
into  the GUI client", which is not the best idea for an independant AI
(or IMHO  the best idea for scripting, for that matter).  It all makes a
lot more  sense now.  (Of course, if one wanted to observe a client-side
AI, or use a  partial AI (i.e. scripting) multiple connections per
player would be  needed.)

You mean one full control connection and serveral others which will get
infos from the server but are not able to send commands? Sounds good.

I'd thought that every connection would have full control privilege.

Never mind the multiple-process stuff; it was based on an incorrect
interpretation.

But under the assumption that some kind of parallel execution is needed
multiple processes are a solution. And in a heterogenous environment
(different languages) presumably easier than multithreading.

True... Of course, communications would be simpler and faster (API and function calls vs. protocol and IPC) with multithreading, and blocking the interpreter thread on incoming packets could be done fairly easily: My current thought is a pipe, with an arbitrary character written to it for each packet recieved, so a read will block until the next packet or return immediately if one is available (probably stored in a queue (which both threads can access directly)).

--Jed



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