EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: monitors received out of order
From: Ralph Lange <[email protected]>
To: [email protected]
Date: Wed, 03 Nov 2010 09:33:50 -0400
On 03.11.2010 05:17, [email protected] wrote:
Yes, I agree with Till. Any mechanism which requires the client to
buffer a number of monitors for each subscription and then compare
timestamps is too difficult for the average client.

That's why such a thing should be handled in a library or a middle-layer service. (See other mail.)


I am happy for the mechanism to break if the event queue overflows, but I
would like a client's event queue on the server to be a single
time-ordered FIFO queue, rather than a collection of queue's. However,
the details are probably a bit of a devil.

Such an implementation would have to use a linked list for the FIFO event queue instead of a ring buffer. That way, there would only be one queue per client (no chunking), and in case of overflow, the overwritten element could easily be moved to the end of the queue.
In this design the order of the incoming updates (from the database) would always be preserved through the event queue.


Which does *not* mean that the time stamps are in order, as record/device support is free to set the time stamp of an update to anything.
I think this would be adequate, though, as time ordering the event queue on insert is an expensive operation. It would also open up a bunch of issues with e.g. updates from records that use a device time stamp that is 10 seconds in the past - these would always be inserted at the front of the queue and delay (if not prevent) sending earlier updates from other records with legal correct time stamps.


Why don't you file a wishlist bug on Launchpad for the issue? That could actually make a nice Codeathon project.

Cheers,
Ralph


Replies:
RE: monitors received out of order nick.rees
References:
monitors received out of order Tim Mooney
RE: monitors received out of order Jeff Hill
RE: monitors received out of order nick.rees
Re: monitors received out of order Ben Franksen
Re: monitors received out of order Till Straumann
RE: monitors received out of order nick.rees

Navigate by Date:
Prev: Re: monitors received out of order Ralph Lange
Next: RE: monitors received out of order nick.rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: monitors received out of order nick.rees
Next: RE: monitors received out of order nick.rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 03 Nov 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·