On Dienstag, 2. November 2010, [email protected] wrote:
I am not sure what to do about it now, but I definitely have a
frequent requirement to get a coherent set of data from a server. Up
till now, I have monitored everything and then taken a snapshot
whenever I got a monitor from the last item in a processing chain
(which I have ensured always updates whenever the chain processes).
This has seemed to work with VxWorks servers. I would like to still
be able to achieve the same effect. How else can I do this?
I think there is one reliable way that should work, although I have not
tested it. Please correct me if I am making wrong assumptions.
The idea is that all the records in your set use TSEL to point to
the 'start' record of your processing 'queue'. If the records in your
set are linked via FLNK, they now should all exactly agree on their
timestamp for one processing run. Then, in your client, you can group
events according to timestamp, i.e. you first wait for an event with a
new timestamp, remember it, and then wait until all the other slots in
your set have been filled by subsequent events with the same timestamp.
If your event groups are not clearly separated in time, i.e. different
event groups may overlap, you can add a small queue (2 or 3 elements)
of PV sets to be filled. Then the event handler can put values into the
right bucket (queue element) according to timestamp.
Cheers
Ben