Michael Davidsaver
d48971dbb9
BlockingUDPConnector cleanup
...
remove unused options and arguments. Avoid alloc.
2019-01-12 12:02:25 -08:00
Michael Davidsaver
be3729cdb1
oops
2018-12-08 18:45:30 -08:00
Michael Davidsaver
81af0d72e8
client.h monitor missing NULL test
2018-12-08 17:50:09 -08:00
Michael Davidsaver
eb8be48807
preemptive dllimport
2018-12-08 17:50:09 -08:00
Andrew Johnson
eaf422669b
Fix Windows symbol decorations in src/client implementation
2018-11-28 13:29:32 -06:00
Michael Davidsaver
095011d013
note
2018-11-26 10:40:43 -08:00
Michael Davidsaver
0959f9be88
use epicsGuard
2018-10-31 09:21:23 -07:00
Andrew Johnson
39d0706cf1
Fix typo in CAChannelGet class member
2018-10-30 16:19:12 -05:00
Andrew Johnson
2b998541ee
Merge caProvider changes (PR #131 ) from mrkraimer
...
ANJ: Added some items to release_notes.dox
Fixes: Github issue #126
2018-10-29 18:20:50 -05:00
Michael Davidsaver
f84774e3ec
PVA server earlier check of monitor window
...
Check window size before attemting poll() as apparently
"spurious" send() is possible.
2018-10-22 14:07:22 -07:00
Michael Davidsaver
3f85f7c2ad
cleanup
2018-10-22 10:04:57 -07:00
Michael Davidsaver
a486f3d4c7
SharedPV::Handler better defaults
2018-10-18 17:52:56 -07:00
Michael Davidsaver
31ed0b55ec
minor
2018-10-18 17:52:56 -07:00
Michael Davidsaver
1b273d3787
deprecate createFileLogger()
2018-10-18 17:52:56 -07:00
Michael Davidsaver
729f16f94e
SharedPV move internal names under detail::
2018-10-18 17:52:35 -07:00
Michael Davidsaver
0a5f8b44db
doc
2018-10-18 15:18:00 -07:00
Michael Davidsaver
ac9ebc47ba
improper use of rand() w/o RAND_MAX
...
... with an extra dose of integer modulo thrown in.
2018-10-18 15:18:00 -07:00
Michael Davidsaver
9de8676a6f
pvlist debugging
2018-10-18 15:18:00 -07:00
Michael Davidsaver
731767b086
SharedPV fix onFirstConnect() on monitor creation
2018-10-08 07:10:13 -07:00
Michael Davidsaver
9ca7487e29
SharedPV allow use of Channel::destroy() to trigger onLastDisconnect()
...
Add dead flag to catch double destroy() or use after destroy()
2018-10-07 20:07:40 -07:00
Michael Davidsaver
ed1bd1b962
SharedPV defer onFirstConnect() to first getField/Put/Monitor
2018-10-07 20:07:40 -07:00
Michael Davidsaver
165313d8f5
client.h add some exception guards
...
These are one shot operations anyway,
and allowing user exceptions to propagate
to core PVA isn't helpful.
2018-10-07 20:07:40 -07:00
Michael Davidsaver
53b95dd336
more SharedPV rpc state tracking
...
handle re-open() with RPC
2018-10-06 17:55:57 -07:00
Michael Davidsaver
f6eeeac649
more UDP debugging
2018-10-04 21:08:15 -07:00
Michael Davidsaver
48770f132f
fix global string constants
2018-10-04 21:08:15 -07:00
Michael Davidsaver
605c172d3c
fix SharedPV allow rpc() while close()'d
...
Don't call channelRPCConnect() again during open().
Turns out that a second channelRPCConnect() has
the effect of sending a reply with OK and NULL.
2018-10-04 07:31:01 -07:00
Michael Davidsaver
542d51a215
RPC troubleshooting
...
something funny is going on
2018-10-03 23:41:30 -07:00
Michael Davidsaver
abc1b448d5
minor
2018-10-03 23:41:30 -07:00
Michael Davidsaver
421d50e3ba
SharedPV too many notifiedConn
...
notifiedConn set more often than it should.
2018-10-03 18:36:32 -07:00
Michael Davidsaver
e67e00c968
client.h minor
2018-10-03 18:36:32 -07:00
mrkraimer
bca188d597
Merge https://github.com/epics-base/pvAccessCPP
2018-10-03 05:54:04 -04: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
mrkraimer
d7dff7ebbf
Merge https://github.com/epics-base/pvAccessCPP
2018-09-27 10:02:46 -04:00
mrkraimer
1204874481
implement field options
2018-09-27 10:02:00 -04: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
mrkraimer
e9d2114e96
latest changes to match caProvider.html
2018-09-24 13:45:21 -04: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
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