We got consensus :-)

Yes some messages are async, some are synqued. If an
async message/reply is received in the wrong time, it
could be ignored as they use to be information only
values, no state change of the game.

cool :-)

--- Don Dailey <[EMAIL PROTECTED]> escribió:

> I agree with you.  My idea is to not have a specific
> aync
> command, but to have anycronous versions of
> commands.   The
> engine is free to accept or reject them.   Having an
> async
> command doesn't do anything if you haven't
> implemented the
> useful needed extensions.    Of course it could
> change the
> meaning of existing commands but I think it's
> cleaner to
> simply have new GTP commands that are understood to
> be
> asyncrounous.
> 
> Even UCI doesn't allow the engine to say anything it
> wants
> whenever it wants.   It is still semi-syncronous.  
> All
> communication sent from an engine is still a
> response to
> some command sent from the controller.   The rule is
> that
> you ignore any communication sent out of context and
> this avoids syncronization issues such as when the
> controller
> says to stop searching but the engine sends a move
> before
> this is noticed.  
> 
> So it's really not as complicated as you might
> think.  
> 
> "chat" I assume is about informational messages from
> a
> searching engine.   So it's a legitimate response to
> an asyncronous command to search a position, but if
> you are not searching a position it would be ignored
> by the controller.
> 
> Abort is the same,  it really means "stop searching
> if you are currently searching"  and so is ignored
> if
> you happen to have stopped at  almost the same 
> instant you recieved the command.
> 
> - Don
> 
>  
> 
> 
> 
> On Mon, 2007-03-05 at 09:08 -0300, Eduardo
> Sabbatella wrote:
> > Just an small thought
> > 
> > GTP could implement "async" commands. Adding
> commands
> > like: 
> > CHAT
> > ABORT
> > etc.
> > 
> > Its up to the engine to read them as soon as
> possible,
> > or wait to read/process them after processing a
> > get_move command.
> > 
> > I think just adding a couple of new commands that
> some
> > engines could implement them 'in real time' its
> good
> > enough for everybody.
> > 
> > I wouldn't add complexity adding a true async
> channel,
> > out of band or whatever.
> > 
> > I mean, commands are ordered, as before, as
> always,
> > that wouldn't break current implementations.
> > 
> > 
> > By the way, I use a lot of stderr, I love it for
> > debuging purposes, please don't use it as a second
> > stream of comunication with the engine. 
> > 
> > With stdin/out and a thread with a couple of
> mutexes
> > is all you need. (or thread safe queues if you
> like)
> > 
> > 
> > My 2 cents 
> 
> _______________________________________________
> computer-go mailing list
> computer-go@computer-go.org
>
http://www.computer-go.org/mailman/listinfo/computer-go/
> 



        

        
                
__________________________________________________ 
Preguntá. Respondé. Descubrí. 
Todo lo que querías saber, y lo que ni imaginabas, 
está en Yahoo! Respuestas (Beta). 
¡Probalo ya! 
http://www.yahoo.com.ar/respuestas 

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to