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
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
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
Andrew Johnson and GitHub
28002fa6d7
Merge pull request #121 from epics-base/issue119
...
From Marty, fixes #119
2018-08-29 13:56:27 -05:00
Andrew Johnson and GitHub
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
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 and GitHub
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
Bruno Martins and mdavidsaver
3caea5991a
Fix PutCallback type comparison. Fix #112
2018-07-09 08:59:51 -07:00
Michael Davidsaver
1a459d75d5
dllimport/export part 4
2018-07-06 16:00:33 -07:00
Michael Davidsaver
c61dad10c8
dllimport/export part 3
2018-07-06 15:33:40 -07:00
Michael Davidsaver
77b4934966
dllimport/export part 2
2018-07-06 14:59:29 -07:00
Michael Davidsaver
39e6e443aa
dllimport/export part 1
2018-07-06 14:41:32 -07:00
Michael Davidsaver
93dc0f4f1a
drop unused
2018-07-06 11:20:34 -07:00
mdavidsaver and GitHub
ab696f00b6
Merge pull request #111 from mdavidsaver/sharedpv
...
Include SharedPV et al.
2018-07-06 11:20:13 -07:00
Michael Davidsaver
59a65ce317
discoverInterfaces() fixup bcast address on win32
...
Apparently SIO_GET_INTERFACE_LIST sometimes gives
the global broadcast (255.255.255.255) for one of
the interfaces. In this case silently compute
the iface bcast address.
2018-07-02 18:54:05 -07:00
Michael Davidsaver
7912718664
discoverInterfaces() compat RTEMS
2018-07-02 15:32:10 -07:00
Michael Davidsaver
b97e37da98
de-duplicate address lists
2018-07-02 14:50:24 -07:00
Michael Davidsaver
fc037f0a39
drop getBroadcastAddresses()
...
in favor of discoverInterfaces().
if we have to do NIC discovery ourselves, then at least
avoid mixing our results with the similar, but not identical
results of osiSockDiscoverBroadcastAddresses() from Base.
2018-07-02 14:39:37 -07:00
Michael Davidsaver
beb977bd78
revise address list expansion
2018-07-02 14:39:36 -07:00
Michael Davidsaver
c5419f9487
revise discoverInterfaces()
...
change interface to distingush between bcast and point2point.
add netmask to truly distinguish unicast from bcast.
fix some minor (I think) errors in the bsd socks impl (use of clobbered buffer).
cleanup win32 impl. bcast and p2p handling.
2018-07-02 14:39:36 -07:00
Michael Davidsaver
53a63f9a1f
inetAddressUtil: save ifr_addr before query of IFFLAGS
...
Save before later calls clobber the buffer (was corrupting
sin_family).
2018-07-02 14:39:36 -07:00
Michael Davidsaver
74c2ec1ec3
Add SharedPV
2018-06-29 16:55:27 -07:00
Michael Davidsaver
146fbbc719
add pva/server.h
2018-06-29 16:55:27 -07:00
Michael Davidsaver
c93f7a35f7
pva/client.h: no lastRequest()
...
until #97 is resolved. Avoids annoying message.
https://github.com/epics-base/pvAccessCPP/issues/97
2018-06-29 16:22:57 -07:00
Michael Davidsaver
135f66393d
pva/client.h: Get expose valid bitset
...
turns out this is useful after all.
2018-06-29 16:22:57 -07:00
Michael Davidsaver
80db41f1c4
pva/client.h Allow callbacks to unref Operations
...
Keep a local (internal) shared_ptr whenever
user callbacks are run. This allows user
callbacks to drop (reset()/dtor) Operations
or Monitors safely.
Ref must to captured before mutex is locked,
which is safe as the internal weak_ptr is
not changed after build() (despite being non-const)
2018-06-29 16:22:57 -07:00
Michael Davidsaver
a1a2e71ecc
fix ServerCancelRequestHandler::handleResponse
...
Thus far this has been dead code as ServerChannel::getRequest()
returned a Destroyable which was actually a BaseChannelRequester
sub-class, not a ChannelRequest sub-class.
2018-06-29 16:22:56 -07:00
Michael Davidsaver
3ffbf9c597
ServerChannel::_requests holds BaseChannelRequester
...
Make it a bit more obvious that things are backwards here.
2018-06-29 16:22:56 -07:00