Evan J. Smith
30f07f2fb6
Changing default request string to 'field()'
2018-10-02 20:29:02 -07:00
Michael Davidsaver
d4f3abf461
more descriptive UDP logging
2018-10-02 12:52:24 -07:00
Michael Davidsaver
2fec84461d
use of CMD_* instead of magic numbers
2018-10-02 12:52:24 -07:00
Michael Davidsaver
e6902ee41f
avoid UB in decodeAsIPv6Address()
...
Order of evaluation within an expression is
undefined behavior.
2018-10-02 12:52:24 -07:00
Michael Davidsaver
4e5aef3e42
SharedPV allow rpc() while close()'d
...
No reason to prevent this as RPCs need not use
the same type (Structure) as get/put/monitor.
2018-10-02 12:52:24 -07:00
Michael Davidsaver
4296c5e015
more SharedPV::close()
2018-09-27 13:56:13 -07:00
Michael Davidsaver
83b2105241
StaticProvider createChannel() avoid possible deadlock
...
connect() may invoke SharedPV onFirstConnect() callback.
2018-09-26 16:38:22 -07:00
Michael Davidsaver
7ed6f1315f
SharedPV::open() less work under lock
2018-09-26 10:31:33 -07:00
Michael Davidsaver
51bc630755
add pvac::ClientChannel::info()
2018-09-26 10:28:18 -07:00
Michael Davidsaver
855335f3b1
client.h guard concurrent callbacks on cancel
...
cancel() blocks until concurrent callbacks have
completed. Also serializes any callbacks for each
Operation/Monitor.
2018-09-26 10:28:18 -07:00
Michael Davidsaver
d01421bf30
client.h cleanup
2018-09-26 10:28:18 -07:00
Michael Davidsaver
f7f4822c08
pva/client.h separate Get and Put
...
Apparently some servers (pvDatabase) have different
behavior for ChannelGet::get() and ChannelPut::get() .
ClientChannel::get() now uses ChannelGet::get()
while ClientChannel::put() will automatically
do a ChannelPut::get() and pass the result to
the putBuilder callback.
2018-09-26 10:25:31 -07:00
Michael Davidsaver
31261cee24
client context less noise
2018-09-25 18:55:21 -07:00
Michael Davidsaver
6b463d77e1
SharedPV ensure callback pairing
...
Ensure that onLastDisconnect() isn't called
unless onFirstConnect() is/has been called.
2018-09-21 11:35:57 -07:00
Michael Davidsaver
a6eca51fa0
StaticProvider dtor close() with destroy=true
2018-09-21 11:35:57 -07:00
Michael Davidsaver
68f284f687
fix epicschat example
2018-09-21 11:35:57 -07:00
Michael Davidsaver
293dd3c2e9
sharedpv simplify logic
...
duh... always empty() after clear()
2018-09-21 11:35:57 -07:00
Michael Davidsaver
52e0bd09f8
sharedpv: defend against dying objects in SharedPV::close()
...
Likely when destroy=true
2018-09-21 11:35:57 -07:00
Michael Davidsaver
5f03fafba7
sharedstate minor doc
2018-09-21 11:35:57 -07:00
Michael Davidsaver
eab36d5123
minor
2018-09-21 11:35:57 -07:00
Michael Davidsaver
3bc1603f47
SharedPV.close() call onLastDisconnect()
...
ensure that onLastDisconnect() is called when
the channels list becomes empty (edge), and
not afterwards.
2018-09-21 11:35:57 -07:00
Michael Davidsaver
9ec0172520
sharedstate: close() from dtor
2018-09-21 11:35:57 -07:00
Michael Davidsaver
dd1e2b4048
sharedstate handle compute() error internally
2018-09-21 11:35:57 -07:00
Michael Davidsaver
1f5c0eedcb
MonitorFIFO: open() handle compute() error internally
...
Introduce Error state when open() fails due to invalid
pvRequest mapping.
2018-09-21 11:35:57 -07:00
Michael Davidsaver
643f7e47c8
Apply PVRequestMapper to shared state put/get
2018-09-21 11:35:57 -07:00
Michael Davidsaver
527cb3fe62
MonitorFIFO use PVRequestMapper
...
MonitorFIFO add config option dropEmptyUpdates
really distinct from ignoreRequestMask
2018-09-21 11:35:57 -07:00
Michael Davidsaver
281447c909
pvtools: force flush cout
...
Apparently windows CRT doesn't have a timed flush.
2018-09-17 10:37:36 -07:00
Andrew Johnson
28002fa6d7
Merge pull request #121 from epics-base/issue119
...
From Marty, fixes #119
2018-08-29 13:56:27 -05:00
Andrew Johnson
24b80151d5
Merge pull request #120 from epics-base/issue118
...
caProvider: Fixes issue #118 and adds more put/get equality tests for pvScalar
2018-08-13 10:22:08 -05:00
mrkraimer
bef689d8c8
add more DBRlongout tests
2018-08-13 09:12:57 -04:00
Michael Davidsaver
07af87fb0b
pva/client.h RPC give dummy valid bit mask
...
avoid the need for a NULL check.
2018-08-06 20:34:27 -07:00
mrkraimer
f210c81e45
fix issue 119
2018-08-02 05:55:22 -04:00
mrkraimer
9ec087c7ed
fix issue 118; add put/get equal tests for pvScalar
2018-08-01 09:40:09 -04:00
Michael Davidsaver
e52d31d0bf
Get2PutProxy pass along messages
2018-07-31 18:48:23 -07:00
Michael Davidsaver
8b60d87e42
pvac fix MailboxHandler
...
This is why OVERRIDE is so important...
2018-07-31 18:48:23 -07:00
Michael Davidsaver
f39174cb74
StaticProvider need to expose iterator type
2018-07-17 20:42:21 -07:00
Andrew Johnson
5a271ecf71
testCaProvider: Increase CA timeout delays for Jenkins
2018-07-17 14:13:02 -05:00
Andrew Johnson
35ff77e940
Include envDefs.h in the right place...
2018-07-17 12:49:08 -05:00
Andrew Johnson
5cbc21983a
Fix for MacOS (clang)
2018-07-17 12:15:05 -05:00
Andrew Johnson
aaafa924ee
Remove unneeded WIN32-only code
2018-07-17 11:49:06 -05:00
Andrew Johnson
6576ec9db7
Fix for Windows and VxWorks (setenv is not portable)
2018-07-17 11:48:13 -05:00
Andrew Johnson
613bfc5289
Merge pull request #96 from mrkraimer/master
...
Merged Marty's rewrite of the CA provider
2018-07-17 11:00:10 -05:00
Michael Davidsaver
8644f4230d
client: simplify monitor type handling
...
I think the original logic is correct, but I'm not sure.
Cleverness to avoiding storing a Structure pointer is a
premature optimization anyway.
2018-07-15 19:22:43 -07:00
Michael Davidsaver
99f68dac04
monitorfifo better default config handling
2018-07-14 15:06:44 -07:00
Michael Davidsaver
f4b245710d
sharedstate: Get use pvRequest field selection mask
2018-07-14 15:00:15 -07:00
Michael Davidsaver
2912112419
MonitorFIFO use pvRequest field selection mask
2018-07-14 15:00:15 -07:00
Michael Davidsaver
bf8b0bde16
quiet warning
2018-07-14 13:58:00 -07:00
mrkraimer
df45c70149
add putDoneThread and getDoneThread; fix issue 114
2018-07-14 11:46:26 -04:00
Michael Davidsaver
e29cda2a74
sharedstate: missed a reftrack
2018-07-11 18:14:54 -07:00
Michael Davidsaver
512cc11923
client: avoid race during monitor shutdown
...
poll() vs. cancel()
2018-07-09 15:19:52 -07:00