tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tsp-devel] Flooding the BB msg queue


From: Eric Noulard
Subject: Re: [Tsp-devel] Flooding the BB msg queue
Date: Thu, 21 Jun 2007 14:16:15 +0200

2007/6/21, Frederik Deweerdt <address@hidden>:
> OK. Now if you know the queue is full, other live client may ALREADY have
> lost notification for a while, even if the queue is not already full of
> the dead client message.
I don't think so, if I get an error as soon as I get it, I stop
everything, kill(client_pid[i++], 0) in order do discover which one
is dead, and then, I go on sending messages. Please note that the timing
is not important, only the fact that the value changed matters.

You are right if you take action on first FULL QUEUE state you won't lost
anything but "processing time" for finding dead process
and flushing corresponding message in the queue.

> Nevertheless you get the ideas, I love the daisy-chain idea
> from client very much because it make the load to be distributed
> on client. The price being a ?perhaps? greater delay because
> of this daisy chain.
OK, I think I'll end up with a per-client SysV queue with a
register/registered handshake. I'll let you know when the code is
posted. Thanks for your time and ideas :)

Ok then,

If you decide to put this in BB I think it is
outside the scope of bb_core*
this may be putted in bb_private_queue* or bb_notify*
or whatever name you find to have
appropriate meaning for this feature.

If you want to keep compatibility with bb_simple* API
you need to avoid mtype which are already used by this API,
see excerpt from bb_simple.h:

/**
* Message id used by an application to
* notify BB tsp provider to shadow copy the blackboard.
*/
#define BB_SIMPLE_MSGID_SYNCHRO_COPY   1
/**
* Message id used by BB tsp provider (or even
* a specialized tsp consumer) in order to notify
* the application that sampled symbols has been processed.
* This is an ACKnowlegde message of Synchro COPY.
* This should not be used by stringent realtime application.
*/
#define BB_SIMPLE_MSGID_SYNCHRO_COPY_ACK  2

Happy coding !

--
Erk




reply via email to

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