Michael Abbott ee4a615caa Client side support for automatic resizing arrays.
In this commit the channel access client is modified to allow a zero
size request in a caget or camonitor call.  This is passed through to
the corresponding CA_PROTO_READ_NOTIFY or CA_PROTO_EVENT__ADD message,
but only if the minor version of the protocol is >=13.

This commit also adds a new protocol test, CA_V413(), which detects a
server which claims to understand the new zero length request.

Finally, this commit prepares for a subtle change in the CA protocol.
A request for a zero length subscription or data request, which will
only be made for protocol version 4.13 and above, is interpreted as a
request for autosized data, where the intrinsic dynamic length of the
requested waveform should be returned.

With the synchronous ca_array_get() call there is no mechanism available
to pass back the size of the retrieved data if it is different from
the requested count, so the simplest thing is to ensure we don't
request autosizing data through this api.
2010-08-11 17:35:23 -05:00
2006-12-19 16:50:54 +00:00
2007-03-29 18:45:51 +00:00

---------------------------------------------------------
EPICS Base - the central core of a control system toolkit
---------------------------------------------------------

Copyright (c) 1991-2003 The University of Chicago, as Operator
of Argonne National Laboratory.
Copyright (c) 1991-2003 The Regents of the University of
California, as Operator of Los Alamos National Laboratory.

EPICS Base Versions 3.13.7 and higher are distributed
subject to a Software License Agreement found in the
file LICENSE that is included with this distribution.

---------------------------------------------------------

Installation and release information can be found in the
various files in the documentation subdirectory.

Additional information about EPICS including mailing list
archives and subscription instructions, documentation and
training materials, additional components, links to other
websites etc. is available on the EPICS home page at
	http://www.aps.anl.gov/epics/

Languages
C++ 81.9%
C 8.6%
HTML 7.9%
Makefile 1.1%
DIGITAL Command Language 0.5%