Andrew Johnson
e61d10200e
Merge pull request #74 from mrkraimer/master
...
This fixes the problems raised in issue #71
2017-11-28 09:04:47 -06:00
Michael Davidsaver
955c1896a1
pvget: always print Timeout
2017-11-27 20:10:33 -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
mrkraimer
46b19866c7
Merge https://github.com/epics-base/pvAccessCPP
2017-11-20 08:46:58 -05:00
mrkraimer
e4182d0b00
fix incorrect logic
2017-11-18 07:05:34 -05:00
mrkraimer
32d0ece858
fix all problems raised in issue #71
2017-11-17 15:18:21 -05:00
Michael Davidsaver
3f51c74ba1
fix mingw build error
2017-11-16 18:47:39 -06:00
Michael Davidsaver
cf7827ceab
quiet mingw include order warning
...
#warning Please include winsock2.h before windows.h
2017-11-16 18:45:44 -06:00
Michael Davidsaver
e626ca0aaf
client const-ify where possible
2017-11-16 17:38:11 -06:00
Michael Davidsaver
f45de1de68
client minor locking
2017-11-16 17:38:11 -06:00
Michael Davidsaver
8e846b02bc
tighten up validation
2017-11-16 17:38:11 -06:00
Michael Davidsaver
cc9c666731
Improve client pvRequest option parsing
...
Give some notice of parse errors
2017-11-16 17:38:11 -06:00
Michael Davidsaver
00e01d5211
tighten up client operation send state handling
2017-11-16 17:03:10 -06:00
Michael Davidsaver
1d56ee7283
pva client ignore CMD_DESTROY_REQUEST reply.
...
Presently CMD_DESTROY_REQUEST and CMD_CANCEL_REQUEST aren't acknowledged.
This allows ambiguity in when the request ioid goes out of scope.
Currently, the client forgets about an ioid as soon as the destroy request is sent.
So any in-flight response will be erroneously flagged as "Undecipherable message".
Similarly, a cancel request can cross paths with a reply.
This creates confusion in the event the client starts a new
request immediately after canceling the first.
Let's build some forward compatibility by ignoring replies to
cancel and destroy requests.
2017-11-16 17:03:10 -06:00
Michael Davidsaver
b3fcffb18e
avoid magic number
2017-11-16 14:56:59 -06:00
Michael Davidsaver
6f39f02f3a
more client locking violations
...
As with #72 more use of m_pendingRequest w/o locking
2017-11-16 14:56:48 -06:00
Michael Davidsaver
ba3b777978
missed one
...
cf 2f0bb7d448
2017-11-16 11:18:13 -06:00
Michael Davidsaver
5bcbc0d717
Incorrect locking in client monitor
2017-11-15 20:02:25 -06:00
Michael Davidsaver
2f0bb7d448
"Not-a-first segmented message" is a critical error
...
Let's try to scare users into reporting it more promptly.
2017-11-15 19:38:26 -06:00
Ralph Lange
8a208c5aaa
jenkins: remove pvCommon dependency from CB build
2017-11-15 17:23:59 +01:00
Andrew Johnson
dac9337bab
Merge pull request #70 from mrkraimer/master
...
Remove lastRequest messages; in activate() only do callbacks when connected; more weak pointer changes.
2017-11-14 14:26:33 -06:00
mrkraimer
784c6665a6
make pvRequest weak_pointer for get, put, and monitor
2017-11-14 09:11:27 -05:00
mrkraimer
6cd7de069a
remove lastRequest messages; in activate only make callback if connected
2017-11-13 05:53:24 -05:00
Michael Davidsaver
3b565d0c56
server GetField ensure no duplicate reply
2017-11-06 16:48:34 -06:00
Michael Davidsaver
84a0729bcf
minor
2017-11-06 16:27:52 -06:00
Michael Davidsaver
c469d49ecb
server: keep most recent GetFieldRequester alive
2017-11-06 16:27:43 -06:00
Michael Davidsaver
0ec4e16373
skip unnecessary static_pointer_casts
2017-11-06 16:12:13 -06:00
Michael Davidsaver
576b241faa
consolidate TransportClient and ChannelImpl as ClientChannelImpl
2017-11-06 15:51:43 -06:00
Michael Davidsaver
7118e34222
merge DataResponse into ResponseRequest
...
DataResponse is only sub-"interface"/class of ResponseRequest.
2017-11-06 15:26:05 -06:00
Michael Davidsaver
3154e3431e
consolidate SubscriptionRequest with BaseRequestImpl
...
"interface" with a single implementation.
combine and de-virtualize
2017-11-06 15:22:09 -06:00
Michael Davidsaver
073c77b1ef
consolidate ServerChannel and ServerChannelImpl
...
"interface" with a single implementation.
combine and de-virtualize.
2017-11-06 15:14:41 -06:00
Michael Davidsaver
46df4c07ca
cleanup ServerChannelImpl
...
const-ify and remove descriptive comments
2017-11-06 14:58:15 -06:00
Michael Davidsaver
5f78671b36
compose ServerResponseHandler
2017-11-06 14:47:10 -06:00
Michael Davidsaver
1d7f15de25
combine AbstractResponseHandler and ResponseHandler
2017-11-06 14:27:46 -06:00
Michael Davidsaver
3071a06000
cleanup server response handlers
...
avoid unnecessary dynamic_cast and ref. counter activity
2017-11-06 14:07:02 -06:00
Michael Davidsaver
aaef110507
eliminate ChannelHostingTransport
...
an "interface" used once. Drop it and de-virtualize.
2017-11-06 13:41:58 -06:00
Michael Davidsaver
02a11fc539
drop long defunct test code
2017-11-06 12:52:26 -06:00
Michael Davidsaver
dcb74b781d
be explicit about epics::auto_ptr
2017-11-06 12:46:13 -06:00
Michael Davidsaver
9bf03fbfbe
no more returning auto_ptr
2017-11-06 12:44:36 -06:00
Michael Davidsaver
0fde239f23
std::auto_ptr -> epics::auto_ptr
2017-11-06 12:37:42 -06:00
Michael Davidsaver
f91b593aea
no need to dllexport inline class w/o virtuals
2017-11-06 11:02:08 -06:00
Michael Davidsaver
161280220e
avoid std::min
2017-11-06 10:57:09 -06:00
Michael Davidsaver
7b301c4c98
pvasr() call Channel::printInfo()
2017-11-05 17:26:52 -06:00
Michael Davidsaver
8d5c27143b
pvasr list client channels
2017-11-05 17:11:28 -06:00
Michael Davidsaver
49173ec884
disable pvAccessMB and unused ref-counting boilerplate
2017-11-05 16:54:10 -06:00
Michael Davidsaver
5e900b1f11
remove super abstract authNZInitialize(void*)
...
with separate client and server calls.
Still dynamic_cast ugliness as Transport and Codec
hierarchies don't have a common root.
2017-11-05 16:41:59 -06:00
Michael Davidsaver
47332fdf90
server status reporting via iocsh
2017-11-05 15:59:01 -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