Commit Graph

14729 Commits

Author SHA1 Message Date
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
Andrew Johnson 4e5fa9b6b3 Reverted patch that added architecture-specific compiler flags,
Micheal Abbott didn't like it.
2009-07-31 17:38:27 +00:00
Andrew Johnson a6b0ffebca Fixed build issue. 2009-07-31 16:46:12 +00:00
Jeff Hill 7246366222 fixed gnu warning 2009-07-31 15:52:32 +00:00
Jeff Hill 191668023b independent of whether receive bytes are pending or not. This improves
event latency, and allows events to flow if we are blocked due to the
service postponing an IO operation. This was a bug fix.

o call processMessage directly from the IO completion callback
that restarts when in an IO postponement state. This makes the logic easier
to understand and maintain, but isnt a functional change
o call processMessage directly from the receive callback.
This makes the logic easier to understand and maintain, but isnt
a functional change
o call processMessage directly from the send callback.
This makes the logic easier to understand and maintain, but isnt
a functional change
o removed the eventFlush function
2009-07-31 00:47:56 +00:00
Jeff Hill 7a23b74a76 o when processing subscription update events, always activate the send
independent of whether receive bytes are pending or not. This improves
event latency, and allows events to flow if we are blocked due to the
service postponing an IO operation. This was a bug fix.
o when finishing processing input activate a send if more than one half
of the TCP buffering would be used. In the past the send was not activated
until either the send buffer was full or the receive buffer (including any
bytes waiting in the socket) was empty. This could cause latency and
performance issues because send receive piplining would not occur if they
have very large buffers due to a large EPICS_CA_MAX_ARRAY_SIZE.
o always activate a send if we enter a service is postponing IO state. Users
would probably prefer to receive past responses and not wait until the
postponed IO initiates.

o casStrmClient::inBufBytesAvailable renamed to
casStrmClient:: inBufBytesPending reflecting the fact that we nlonger use
a socket ioctl to check how many bytes are pending in the sockets
input queue
o casStrmClient::outBufBytesPresent renamed to
casStrmClient::outBufBytesPending for consistency with inBufBytesPending
o removed the eventFlush function
o removed sendBlocked flag
o call processMessage directly from the IO completion callback
that restarts when in an IO postponement state. This makes the logic easier
to understand and maintain, but isnt a functional change
o call processMessage directly from the receive callback.
This makes the logic easier to understand and maintain, but isnt
a functional change
o call processMessage directly from the send callback.
This makes the logic easier to understand and maintain, but isnt
a functional change
2009-07-31 00:41:34 +00:00
Jeff Hill 511d818d18 o removed sendBlocked flag
o removed processInput function
o removed eventFlush function
o made casStreamIOWakeup and casStreamEvWakeup friends
2009-07-31 00:00:42 +00:00
Jeff Hill f8565139c2 o removed sendBlocked flag
o removed processInput function
o removed eventFlush function
o made casDGEvWakeup, casDGIOWakeup, and
casStreamEvWakeup friends
2009-07-30 23:54:18 +00:00
Jeff Hill 30a02b365f incomingBytesPresent renamed to inCircuitBytesPending but this
function isnt currently used
2009-07-30 23:51:48 +00:00
Jeff Hill b4bc931c72 incomingBytesPresent renamed to dgInBytesPending, but this function
is not currently used
2009-07-30 23:50:45 +00:00
Jeff Hill e5d3815280 o removed bytesAvailable member function from inBuf because
we nolonger check the bytes in the socket  with an ioctl
o removed incomingBytesPresent virtual function from inBufClient interface
because we nolonger check the bytes in the socket  with an ioctl
2009-07-30 23:48:43 +00:00
Jeff Hill ebd65e6e34 added an assert test 2009-07-30 23:45:14 +00:00
Jeff Hill 8c45eb4a19 o casStrmClient::inBufBytesAvailable renamed to
casStrmClient:: inBufBytesPending reflecting the fact that we nlonger use
a socket ioctl to check how many bytes are pending in the sockets
input queue
o  casStrmClient::outBufBytesPresent renamed to
casStrmClient::outBufBytesPending for consistency with inBufBytesPending
2009-07-30 23:43:21 +00:00
Jeff Hill e1bb171f44 o casStrmClient::inBufBytesAvailable renamed to
casStrmClient:: inBufBytesPending reflecting the fact that we nlonger use
a socket ioctl to check how many bytes are pending in the sockets
input queue
o  casStrmClient::outBufBytesPresent renamed to
casStrmClient::outBufBytesPending for consistency with inBufBytesPending
o in casStrmClient :: processMsg () I forced status to S_cas_success at a couple
of loop exits. There is probably not a bug because the variable is initialized to
this value and the loop termintaes if the status isnt this value nevertheless
the corrected code is more robust to future changes.
o fixed a benign issue in casStrmClient :: processMsg () where if the user
sends a message to big for EPICS_MAX_ARRAY_SIZE and there is
currently no room in the output buffer then the user will not receive
a diagnostic message. With the patch the message will be sent later once
there is space.
2009-07-30 23:42:15 +00:00
Jeff Hill 656c2462d3 o casDGClient::inBufBytesAvailable renamed to
casDGClient :: inBufBytesPending reflecting the fact that we nlonger use
a socket ioctl to check how many bytes are pending in the sockets
input queue
o  casDGClient::outBufBytesPresent renamed to
casDGClient::outBufBytesPending for consistency with inBufBytesPending
2009-07-30 23:31:32 +00:00
Jeff Hill f4ec20c8f0 casDGClient::inBufBytesAvailable renamed to
casDGClient :: inBufBytesPending reflecting the fact that we nlonger use
a socket ioctl to check how many bytes are pending in the sockets
input queue
2009-07-30 23:29:43 +00:00
Jeff Hill 72e1dba496 o no need to allocate or initialize one more fd_set than is used
(not a bug but messy)
o added optimization where we only check as many registered fd's
on the list as select tells us are active in its status
o added code to clear all of the  fd_set if select returns an error
(in practice this would not cause a bug other than some extra activity
that would immediately self terminate when it clear the flag in the fd_set,
and also we dont see the error message printed when select returns an error)
2009-07-30 23:21:19 +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 290ec3e22c adjustable asyn delay, adjustable max simult io, added variables 2009-07-30 22:53:51 +00:00
Jeff Hill d6b887b363 adjustable asyn delay 2009-07-30 22:51:03 +00:00
W. Eric Norum fbebea304b Adapt to older versions of RTEMS. 2009-07-29 20:58:37 +00:00
Janet B. Anderson dd1d2c10bd Part 2 for Fix of echo problem. 2009-07-29 20:53:02 +00:00
Janet B. Anderson d3e3137265 Fixed echo problem when using RULES.Db when T_A is not defined. 2009-07-29 19:06:32 +00:00
Jeff Hill d764e7d4df added "using namespace std" 2009-07-29 15:10:24 +00:00
W. Eric Norum 49ddec4294 Add cvtFastPerform to test harness. 2009-07-29 14:29:54 +00:00
Andrew Johnson ce778819bd Update comment; can't deprecate a published API! 2009-07-28 21:11:02 +00:00
Andrew Johnson d5bffdb13d Can't portably pass filesystem paths as command-line macros to C.
Generate a header file instead and include that.
2009-07-28 21:08:37 +00:00
Jeff Hill ba11940aad removed debug printf 2009-07-25 01:24:50 +00:00
Jeff Hill 8725e4a67a removed debug printf 2009-07-25 01:23:18 +00:00
Jeff Hill a6e57ba17a proper data type for socklen_t 2009-07-25 01:16:20 +00:00
Jeff Hill 7d137254af proper data type for socklen_t 2009-07-25 01:14:55 +00:00
Jeff Hill 31fb3775fd improved knowledge of the circuit's buffer size 2009-07-25 01:04:14 +00:00
Jeff Hill 1ba658b452 improved diagnostics 2009-07-25 00:44:21 +00:00
Jeff Hill 6eb25148c5 simplified tcp send interactions 2009-07-25 00:43:28 +00:00
Jeff Hill 4ade695a60 upgraded to properly test array performance 2009-07-23 23:59:04 +00:00
Andrew Johnson bea22985b6 Generate code to abort if no DBD file loaded yet. 2009-07-23 22:13:29 +00:00
W. Eric Norum fd6d1ce69c As reported by Michael Davidsaver.
Apparently the GeSys dynamic linker doesn't maintain C semantics.
I'm afraid that this behaviour is likely to cause lots of other problems,
but for now I'll apply the patch since it's harmless.
2009-07-23 21:04:27 +00:00
Jeff Hill 844ed6345a test also numbers in -5 to 5 range 2009-07-23 17:32:33 +00:00
Jeff Hill 7315f02888 added cvtFastPerfotm test 2009-07-23 17:25:51 +00:00
Jeff Hill 1ba6da438b partial fix for mantis 352 2009-07-23 00:23:17 +00:00
Andrew Johnson c986597f1c Reject breaktables with slope of zero. 2009-07-22 22:58:09 +00:00
Janet B. Anderson 38b81b44be Fixed quoted string problem. 2009-07-22 20:41:09 +00:00
Andrew Johnson 8382eee11a Need quotes here too for this to work on Windows. 2009-07-22 20:34:47 +00:00
Andrew Johnson 7d80ab72b0 Escape backslashes in fullPathName output. 2009-07-22 16:43:47 +00:00
Andrew Johnson 3d86367330 Added -e option to escape back-slashes in output. 2009-07-22 16:40:30 +00:00
Janet B. Anderson 16a6357ab4 Initial version. 2009-07-22 14:12:24 +00:00
Janet B. Anderson f4bfc3928d Fixed XDK definition for Exceed 12.0. 2009-07-21 17:56:55 +00:00
Janet B. Anderson 4282d3e9f4 Commented out XRTGRAPH definitions. 2009-07-21 17:26:34 +00:00