EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: 'Request' support in qsrv
From: Mark Rivers via Core-talk <[email protected]>
To: Michael Davidsaver <[email protected]>, Ralph Lange <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 14 Jan 2019 17:57:01 +0000
Yes, my example is still hypothetical.  It does closely mirror how the areaDetector ImageJ plugin for Channel Access works.  It does the following:

- Puts a monitor on the ArrayCounter PV.  This means it gets a callback each time there is a new array.

- Reads the metadata to decide how much data it needs to read from the waveform record.  This may be much less than the actual size of the waveform record.

- Based on the metadata reads the actual data from the waveform record.


It does this, rather than monitoring the waveform record directly, because if it did the latter it would need to be reading the metadata and changing the requested size of the monitor callback each time anything changed.


This is not needed with pvAccess, in that case ImageJ is directly monitoring the entire NTNDArray structure.


Mark



________________________________
From: Michael Davidsaver <[email protected]>
Sent: Monday, January 14, 2019 11:39 AM
To: Mark Rivers; Ralph Lange
Subject: Re: 'Request' support in qsrv

On 1/14/19 9:18 AM, Mark Rivers wrote:
> I don't know of any current examples, but I could imagine a client wanting to know if an image was RGB or Mono for example, if that client could only handle Mono.

Ha :)  I complain about hypothetical use cases, and I get?  Another hypothetical use case!


In seriousness though.  The problem with this example is that it is effectively polling.
This inherently add round trips, failure modes, and extra code to address them.  eg.
You can poll Mono vs. RGB and then start consuming, but a robust client must consider
that the color mode can change without warning.

To me, this sort of situation often only becomes apparent when I actually start writing code.
Thus my growing aversion to discussing use cases which none of the participants have tried
to solve.


> ________________________________
> From: [email protected] <[email protected]> on behalf of Michael Davidsaver via Core-talk <[email protected]>
> Sent: Monday, January 14, 2019 11:13 AM
> To: Ralph Lange
> Cc: EPICS Core Talk
> Subject: Re: 'Request' support in qsrv
>
> On 1/14/19 8:30 AM, Ralph Lange via Core-talk wrote:
>> On Mon, 14 Jan 2019 at 17:17, Kasemir, Kay via Core-talk <[email protected] <mailto:[email protected]>> wrote:
>>
>>
>>     [...]
>>     The only problematic scenario would be a large waveform record where some client solely requests the timestamp.
>>     Always adding the complete waveform would increase the network traffic compared to just the requested timestamp, but I think that's a silly example.
>>
>>
>> Make that a client that only wants to check the metadata of a huge image (e.g. to decide on the image size if it wants to read the image data itself), and it's not silly anymore.
>
> This seems hypothetical.  Has anyone ever wanted to do this?  What was the motivation?
>



Replies:
Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
References:
'Request' support in qsrv Kasemir, Kay via Core-talk
Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
Re: 'Request' support in qsrv Kasemir, Kay via Core-talk
Re: 'Request' support in qsrv Ralph Lange via Core-talk
Re: 'Request' support in qsrv Michael Davidsaver via Core-talk

Navigate by Date:
Prev: Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
Next: Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
Next: Re: 'Request' support in qsrv Michael Davidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024