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
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
5e887a6d02
add MonitorFIFO
2018-06-26 19:06:47 -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
de6586b92f
MonitorElement::Ref swap() and move, but no copy
2018-06-05 09:32:22 -07:00
Michael Davidsaver
578dbc9456
add another ChannelProviderRegistry::addSingleton() overload
...
Construct a "factory" around a pre-allocated instance.
2018-06-05 09:32:22 -07:00
Michael Davidsaver
8000ed0637
client.h default ctor for ClientProvider
...
Allow an invalid ClientProvider to be created
for later assignment.
2018-06-05 09:32:22 -07:00
Michael Davidsaver
794d72ba6b
client.h MonitorSync missing init of member
2018-06-04 10:08:01 -07:00
Michael Davidsaver
bd88e35448
client.h update doc
2018-05-16 09:14:49 -07:00
Michael Davidsaver
7cf78d5b9b
client.h add ClientProvider::name()
2018-04-20 15:22:57 -07:00
Michael Davidsaver
3d85852c93
attempt to fix dllimport issue
2018-04-18 09:01:11 -07:00
Michael Davidsaver
61d43e498d
client.h std::ostream printing
2018-04-10 16:19:03 -07:00
Michael Davidsaver
0d40464541
client.h: expose reset()
...
can also be accomplished with assignment from empty.
op = pvac::Operation()
2018-04-10 15:17:18 -07:00
Michael Davidsaver
0c6fe2c1c6
client.h: add validity test for all handles
2018-04-08 16:04:36 -07:00
Michael Davidsaver
4fcbdff580
missing includes
2018-03-19 15:36:21 -07:00
Michael Davidsaver
acab4cd408
fix potential *NULL from Get2PutProxy
2018-03-08 11:42:56 -05:00
Michael Davidsaver
b5bf6a4ccd
client: (shallow) copy into Monitor::root
...
Avoid exposing refs. from monitor queue
which might then be used after release().
Also allows users the possibility of caching
getSubField() until root.get() actually changes.
2018-02-21 11:19:21 -08:00
Michael Davidsaver
d33356ced6
drop deprecated
2018-01-31 12:48:59 -08:00
Michael Davidsaver
c6b1786008
minor doc
2018-01-31 11:51:13 -08:00
Michael Davidsaver
4dcc8bffe1
minor
2017-12-12 09:57:24 -06:00
Andrew Johnson
65b0ac1a32
Fixes needed for older VxWorks GCC
2017-11-29 16:44:19 -06:00
Michael Davidsaver
bc0892a1ad
workaround for older gcc
2017-11-28 17:54:25 -06:00
Michael Davidsaver
d1cbb0abd5
pvac: ensure that listeners are done in ClientChannel
...
ensure no concurrent callback in progress
when removing listeners.
2017-11-22 14:20:26 -06:00
Michael Davidsaver
6055dbb983
pvac user internal/external refs.
2017-11-22 14:14:05 -06:00
Michael Davidsaver
250826ffb9
add reftrack to pvac
2017-11-22 12:32:38 -06:00
Michael Davidsaver
dc99e2ae4c
add ChannelProviderRegistry::addSingleton()
...
Helper for providers of singleton resources.
Useful for process-wide resources like the PDB.
2017-11-05 12:22:39 -06:00
Michael Davidsaver
5f96f5722e
pvac: client monitor locking
2017-11-05 12:19:10 -06:00
Michael Davidsaver
393ac72785
minor doc
2017-10-05 15:33:48 +02:00
Michael Davidsaver
4eb8856a00
pvac: fix MonitorSync method name collision
2017-09-30 14:22:25 -05:00
Michael Davidsaver
b806b7ca42
pvac: generalize sync. put()
2017-09-30 13:54:59 -05:00
Michael Davidsaver
9460fab294
pvac: ClientProvider ctor from ChannelProvider
2017-09-29 16:22:19 -05:00
Michael Davidsaver
25c7da43f2
pvac: better Requester names
...
pass through the client name (aka the channel name)
2017-09-06 13:49:46 -05:00
Michael Davidsaver
8a24f9cd9c
Channel::createChannelProcess default ensure process=true
2017-09-06 12:48:03 -05:00
Michael Davidsaver
33fb103a4b
defaults ChanneGet/Process use ChannelPut
...
provide default implementations of
Channel::createChannelGet() and Channel::createChannelProcess()
which proxy to Channel::createChannelPut().
Get uses ChannelPut::get().
Process uses ChannelPut::put() with an empty bit set (no data)
2017-09-05 15:45:36 -05:00
Michael Davidsaver
6ba8416736
reftrace Channel
2017-09-02 09:55:15 -05:00
Michael Davidsaver
79874e1811
reftrack more classes
...
include the common abstract bases used by all ChannelProviders.
2017-09-02 09:55:15 -05:00
Michael Davidsaver
98df225583
insturment with reftrack
2017-08-30 11:17:03 -05:00
Michael Davidsaver
b53761d4d4
MonitorElement remove unused
2017-07-21 13:12:30 +02:00
Michael Davidsaver
937fb154c1
update release notes
2017-07-18 19:06:55 +02:00
Michael Davidsaver
97e1cd4c69
pvac: add sync. monitor
2017-07-18 17:23:21 +02:00
Michael Davidsaver
158b23cfce
__attribute__ error added in gcc 4.3
2017-07-18 15:34:53 +02:00
Michael Davidsaver
b2ef7cd0ec
more shared_ptr compat
2017-07-18 15:10:32 +02:00
Michael Davidsaver
36be4d3bf7
pvac ensure cancel delivered
2017-07-18 14:02:47 +02:00
Michael Davidsaver
1a47e5fb0a
pvac: add synchronous put to 'value' field
2017-07-18 14:02:14 +02:00
Michael Davidsaver
edc54aae72
more shared_ptr compat
2017-07-18 13:21:18 +02:00
Michael Davidsaver
2c530868f6
split out caprovider as libpvAccessCA
...
fixup multi-library build
2017-07-17 13:51:20 +02:00
Michael Davidsaver
a8d44dd8c5
remove deprecated form of ChannelProviderRegistry::getProviderNames()
...
I'm tired of sifting through all the auto_ptr deprecation warnings...
2017-07-17 12:00:11 +02:00