2002 2003 2004 <2005> 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 2002 2003 2004 <2005> 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Link arrays / syntax |
From: | Tim Mooney <[email protected]> |
To: | Steve Lewis <[email protected]> |
Cc: | EPICS Core Talk <[email protected]> |
Date: | Wed, 19 Oct 2005 11:50:58 -0500 |
Steve Lewis wrote:
At 7:44 AM -0500 2005/10/19, Marty Kraimer wrote:Thus we can define block - wait until all previous record processing activity has completed process - request the linked record be processedwait - do not complete this link until the linked record has completed processing.I like that; think of block => a pre-condition process => an attribute of the link wait => a post-conditionAlso, whatever scheme is chosen, it should map nicely into a visual representation in VDCT.Could we called the "linked to" record the "target" record?
I don't think viewing "block" as a precondition to link processing captures enough of its capability, because it misses the code between link invocations. This is most clear for input links: read something (process target first; notify me on completion) do some calculation using the data we will eventually have read write something (block for outstanding callbacks before writing) Block occurs too late to save the calculation from stale data, but it would have been useful attached to the read link. If block is implemented as a precondition, I would expect the following almost immediately: read something (process target first; notify me on completion) --> link to nothing (block before not linking to anything) do some calculation using the data we've now received write something ... I think attaching "block" to links is just expedient; it doesn't fit perfectly, but putting it there gets a useful capability into *all* record types. I just wonder how an end user is going to specify that a link should wait or block. Right now, I have a custom seq record that allows the user to specify wait/nowait for each output link, but of course this requires an extra field associated with each link. -- Tim Mooney ([email protected]) (630)963-1860 Beamline Controls & Data Acquisition Group Advanced Photon Source, Argonne National Lab.