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  2010  <20112012  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  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: reading large data arrays over slow networks
From: Andrew Johnson <[email protected]>
To: Matt Newville <[email protected]>
Cc: [email protected]
Date: Thu, 3 Nov 2011 16:19:15 -0500
Hi Matt,

In general for complex application I would recommend that you ignore the 
ca_array_get() and ca_pend_io() functions completely — they're designed for 
simple linear programs.  Instead you should aim to get all of your completion 
notifications from CA using callbacks, calling ca_poll() or ca_pend_event() in 
your event loop (or turning on preemptive callbacks and adding locks).  Note 
that using ca_get_callback() also means that you don't have to allocate a data 
buffer for an incoming array until it arrives.  You can't use ca_array_get() 
for variable-length arrays either.

BTW, ca_pend_event() returns ECA_TIMEOUT in normal operation, because it 
doesn't normally return until that time has elapsed.  The alternative return 
code is ECA_EVDISALLOW which means you called it from inside a callback 
routine (not allowed).

HTH,

- Andrew
-- 
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham


References:
reading large data arrays over slow networks Matt Newville

Navigate by Date:
Prev: Re: epicsQt plugin build errors Martin Konrad
Next: Re: reading large data arrays over slow networks Kevin Peterson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: reading large data arrays over slow networks Matt Newville
Next: Re: reading large data arrays over slow networks Kevin Peterson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·