mrkraimer
36e18bfd21
merge with epics-base
2018-09-10 14:11:19 -04:00
mrkraimer
ef623eef91
merge with epics-base
2018-09-10 13:46:50 -04:00
Andrew Johnson
28002fa6d7
Merge pull request #121 from epics-base/issue119
...
From Marty, fixes #119
2018-08-29 13:56:27 -05:00
mrkraimer
8e40907171
fix issues 117 118 119
2018-08-13 14:19:10 -04: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
39ede57fe2
change ChannelConnectThread to channelConnectThread
2018-08-10 15:11:02 -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
mrkraimer
0d4bd9ad92
fix issue #118
2018-07-30 14:01:42 -04:00
mrkraimer
bac1307136
channel connect: call requester from channel access callback
2018-07-24 10:33:15 -04:00
mrkraimer
16268cc9d6
add channelConnectThread; should fix connecting to 50000 channels
2018-07-20 13:18:59 -04:00
Michael Davidsaver
f39174cb74
StaticProvider need to expose iterator type
2018-07-17 20:42:21 -07: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
Bruno Martins
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
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
Michael Davidsaver
5e887a6d02
add MonitorFIFO
2018-06-26 19:06:47 -07:00
Michael Davidsaver
1e04c91d3c
Server window fix clear
...
A leftover from when window_t held MonitorElement::Ref
which it no longer does.
2018-06-26 11:56:51 -07:00
Michael Davidsaver
c0126d9a1c
server: pipeline=true windowing
...
Implement flow control windows in the server itself,
so that this applies to all Monitor.
Then the reportRemoteQueueStatus() callback is only needed
to deliver the initial window update.
This is done by not calling Monitor::release() immediately
when pipeline=true. Rather, hold onto MonitorElement s
until an ack is received.
Also addresses a race with clearing _channelMonitor
vs. having send() queued at/after destroy().
2018-06-26 11:23:50 -07:00
Michael Davidsaver
a413f8f9db
add dummy ChannelFind implementation.
...
Since this class is not really used...
2018-06-26 11:23:50 -07:00
Michael Davidsaver
656e2fcfd4
PVA server avoid possible data race
...
The operation member variable is set by from the
returned pointer, and within the *Connect callback.
Make sure these down race.
2018-06-26 11:23:50 -07:00