Commit Graph
1984 Commits
Author SHA1 Message Date
Andrew Johnson 85c2877746 Document the dynamic-array changes. 2010-08-17 18:06:19 -05:00
Michael AbbottandAndrew Johnson 519c94a6e3 Update rsrv to support V4.13 protocol extension.
The rsrv server is updated in this commit to deliver variable sized
waveforms in response to a zero length request, implementing an
extension to the v4 EPICS protocol tied to minor version 13.

The core of the changes are in read_reply, rsrv/camessage.c, which first
reserves packet space for the largest possible response, but then resizes
the packet according to how much data is actually returned from the
database.
2010-08-11 17:36:11 -05:00
Michael AbbottandAndrew Johnson 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
Michael AbbottandAndrew Johnson e87bbef75c Update rsrv to support V4.13 protocol extension.
The rsrv server is updated in this commit to deliver variable sized
waveforms in response to a zero length request, implementing an
extension to the v4 EPICS protocol tied to minor version 13.

The core of the changes are in read_reply, rsrv/camessage.c, which first
reserves packet space for the largest possible response, but then resizes
the packet according to how much data is actually returned from the
database.
2010-08-11 16:38:49 -05:00
Michael AbbottandAndrew Johnson a0c0c55347 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 16:22:54 -05:00
Andrew Johnson eda402cf66 Merged Ralph's ca-over-tcp branch.
Fixed some vxWorks compile errors, and made a number of edits
to the HTML in the CAref.html documentation.
2010-08-10 16:05:46 -05:00
Ralph Lange 0666207393 Removed comment about ellfree @Windows in udpiiu.cpp (suggested by Jeff). 2010-05-14 09:34:40 -04:00
Ralph Lange be978d6499 Fixed issue "TCP Nameserver Connection Down Blocks All Callbacks" and cleaned up the SearchDest list / TCP circuit relation
* Pulled out tcpiiu::SearchDestTCP to have cac create the SearchDest independent from the TCP circuit
* Reorganized the relation between the SearchDestTCP and the TCP circuit:
  - SearchDest stays always on the cac list
  - TCP connection going down sets SearchDest inactive and SearchDestTCP's circuit member to NULL
  - Next seach request creates the new TCP circuit and sets SearchDestTCP's member, but leaves SearchDest inactive
  - Successful connect sets SearchDest active
* ReceiveThread releases the cac mutex before going to sleep in connect loop
2010-04-15 17:06:16 -04:00
Ralph Lange a0e868e2e1 Make SearchDest.h include all the headers it needs 2010-04-09 10:59:57 -04:00
Ralph Lange d539db4053 Fix for: TCP Nameserver Connections Do Not Reconnect 2010-04-09 10:38:18 -04:00
Ralph Lange 82551fd175 Added EPICS_CA_NAME_SERVERS paragraph. Fixed lots of minor issues (unprintable characters). 2010-04-07 17:15:39 -04:00
Ralph Lange 23612a7afe Merged Codeathon 2008 changes (10292..10293 on cvs-trunk branch).
* Fixed conflicts until base compiles
 * COMPLETELY UNTESTED
2010-04-06 17:59:35 -04:00
Ralph Lange bf5e456e2b Added doc for new DBE_PROPERTY flag in CA Reference Manual 2009-12-15 22:42:57 +00:00
Ralph Lange c8470a2473 Added -l.. commandline options to catools (by Stephanie Allison) 2009-12-15 22:05:55 +00:00
Jeff Hill d24c66f83d fix for mantis 366 2009-09-11 00:49:02 +00:00
Jeff Hill 955e9cd4d1 improved test id in diag message 2009-08-31 19:47:58 +00:00
Jeff Hill 3fe4def288 monitorAddConnectionCallbackTest test was too specific -
we shouldnt test for exactly two subscription updates when
more than two is sufficent
2009-08-28 23:28:29 +00:00
Jeff Hill a4e5e540a9 added \n to printf diagnostic 2009-08-25 15:45:20 +00:00
Jeff Hill 33911cd0af improved failure diagnostic 2009-08-25 14:50:11 +00:00
Jeff Hill 4921187178 use verify instead of assert 2009-08-24 17:04:40 +00:00
Jeff Hill 794811b95a exp passed to assert must not change the state of the data structures 2009-08-24 17:03:17 +00:00
Jeff Hill aa904449c0 we dont need tocheck the return from new with assert 2009-08-24 17:01:21 +00:00
Jeff Hill 8c2278784c fixed mantis 361 2009-08-21 00:53:55 +00:00
Jeff Hill 1fba8dd866 improved fdManagerVerify progress diagnostics 2009-08-20 22:29:53 +00:00
Jeff Hill 782ff1b303 improved create channel unexpected exception diagnostic 2009-08-14 19:12:50 +00:00
Jeff Hill 2fb6b2100f improved test diagnostic 2009-08-14 17:44:33 +00:00
Jeff Hill 0012042a5e accomodate archaic vxWorks gnu compiler 2009-08-14 17:31:34 +00:00
Jeff Hill e0d16659e1 improved TCP circuit creation failure exception diagnostics 2009-08-14 16:57:48 +00:00
Jeff Hill 8303cf053b improved VC creation failure exception diagnostics 2009-08-14 16:56:31 +00:00
Jeff Hill 0fdda3f794 back out prev change 2009-08-14 00:29:56 +00:00
Jeff Hill b344841365 fixed the following issues with detection of flow control mode
o the flow control contig frame thresh should be based on max array size
o it appears that the wakeup mechanism for the send thread, who sends
the flow control on/off messages was broken
o looking at full buffers isnt a perfect detection scheme compared to
the simpler approach of just checking to see if bytes are pending in
the socket before calling recv
2009-08-13 23:29:02 +00:00
Jeff Hill b867dabad0 cache the client ctx ref prior to calling callback in case they delete the
channel in the callback
2009-08-13 22:46:47 +00:00
Jeff Hill 0cea525682 destroy putCallback prior to calling callback in case they delete the
channel in the callback
2009-08-13 22:44:30 +00:00
Jeff Hill 2df7da052a destroy getCallback prior to calling callback in case they delete the
channel in the callback
2009-08-13 22:43:21 +00:00
Jeff Hill 59b820d2f5 added missing epicsShareExtern 2009-08-13 22:42:05 +00:00
Jeff Hill 3fda8dc2b0 added test failure diagnostic 2009-08-13 22:40:02 +00:00
Jeff Hill 44a6e9a005 added SEVCHK string 2009-08-12 00:37:10 +00:00
Jeff Hill 57c9f9344f improved show function 2009-08-10 21:51:07 +00:00
Jeff Hill 7a49a17d1b removed unused template instantiation 2009-08-04 23:32:32 +00:00
Andrew Johnson c035566d7d Use compile-time assertions, from Micheal Davidsaver. 2009-08-04 19:10:30 +00:00
Jeff Hill 72dbaa8a0f auto-adjust iterations for payload size 2009-07-31 23:26:16 +00:00
Jeff Hill 458689a252 fixed formating 2009-07-31 22:12:32 +00:00
Jeff Hill 0daf347ef3 fixed incorrect Mbps calc based on rounded payload size 2009-07-31 22:01:53 +00:00
Jeff Hill e32d8d77dc fixed gnu compiler issues 2009-07-31 21:43:03 +00:00
Jeff Hill ffe7823c22 report send and recv Mbps independently to better understand fullduplex ethernet bw 2009-07-31 21:23:26 +00:00
Jeff Hill 913f724ebf fix for mantis 357 2009-07-31 19:47:46 +00:00
Jeff Hill 001b947702 added more excas options 2009-07-30 23:09:54 +00:00
Jeff Hill c0d4317ade fixed broken test 2009-07-30 23:08:34 +00:00
Jeff Hill 4ade695a60 upgraded to properly test array performance 2009-07-23 23:59:04 +00:00
Jeff Hill 0abb615d3a improved tests 2009-07-18 03:54:16 +00:00