Hi Ben,
On 2013-07-04 Benjamin Franksen wrote:
> I feel a bit left alone, momentarily, talking to myself all the time. I
> guess all the experts are on vacation.
I have been reading your messages on this subject, but the expert on CA is
Jeff Hill who has been posting a little recently so I was hoping he would
respond.
> > Channel Access Question
> > =======================
> >
> > Does the CA client library guarantee that callbacks for
> > ca_array_get_callback and ca_array_put_callback are eventually
> > called, no matter what, assuming I just wait long enough?
> >
> > Note that "no matter what" includes lost connections etc.
The CA reference manual says the following about ca_put_callback():
> When ca_array_put_callback are invoked the user supplied asynchronous
> call back is called only after the initiated write operation, and all
> actions resulting from the initiating write operation, complete.
>
> If unsuccessful the call back function is invoked indicating failure
> status.
>
> If the channel disconnects before a put callback request can be
> completed, then the client's call back function is called with failure
> status, but this does not guarantee that the server did not receive and
> process the request before the disconnect. If a connection is lost and
> then resumed outstanding ca put requests are not automatically reissued
> following reconnect.
and this about ca_get_callback():
> When ca_get_callback or ca_array_get_callback are invoked a value is
> read from the channel and then the user's callback is invoked with a
> pointer to the retrieved value. Note that ca_pend_io will not block
> for the delivery of values requested by ca_get_callback. If the channel
> disconnects before a ca get callback request can be completed, then the
> clients call back function is called with failure status.
Both of those texts would seem to indicate that you can rely on your
callback eventually being called one way or the other.
If you come across a situation where your callback is not being called, the
documentation implies that should only be due to a bug in the
implementation, which would then need to be fixed.
HTH,
- Andrew
--
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock
- Replies:
- Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- References:
- pvGet timeout in sequencer 2.1.12 Carl Lionberger
- Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- Navigate by Date:
- Prev:
Re: Development with EPICS and CSS marcus . michalsky
- Next:
Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- Next:
Re: pvGet timeout in sequencer 2.1.12 Benjamin Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|