Commit Graph

9538 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
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
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
Janet B. Anderson
1e68d1f89b Modified EPICS_EXTENSIONS and add OAG_APPS comments. 2009-07-21 17:12:15 +00:00
Janet B. Anderson
03b6345fe0 Fixed definitions of X11_LIB and X11_INC. 2009-07-21 17:11:02 +00:00
Janet B. Anderson
055bb953b9 Fixed definition of X11_INC. 2009-07-21 17:10:26 +00:00