Commit Graph

123 Commits

Author SHA1 Message Date
Michael Davidsaver
58f996fd98 update transportRegistry
avoid leaks of SOCKET and leaving mutex locked
when exceptions are thrown.
2018-02-01 18:54:25 -08:00
Michael Davidsaver
d33356ced6 drop deprecated 2018-01-31 12:48:59 -08:00
Michael Davidsaver
9daf7a0cad remove unnecessary includes 2018-01-31 11:51:13 -08:00
Michael Davidsaver
903d117485 pvAccessLog() add EPICS_PRINTF_STYLE()
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
0161799c93 must zero osiSockAddr prior to use!
RTEMS depends on this or eg. bind()
will fail because comparison with
list of interface addresses is done
with memcmp()!
2017-11-28 17:54:25 -06:00
Michael Davidsaver
d4eb31e729 silence warning
the 'done' flag avoids actual use of uninitialized 'size'.
2017-11-28 17:54:25 -06: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
5bcbc0d717 Incorrect locking in client monitor 2017-11-15 20:02:25 -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
1d7f15de25 combine AbstractResponseHandler and ResponseHandler 2017-11-06 14:27:46 -06:00
Michael Davidsaver
dcb74b781d be explicit about epics::auto_ptr 2017-11-06 12:46:13 -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
7ca0688326 second destroy() is a no-op 2017-11-01 14:17:55 -05:00
Michael Davidsaver
b1444b6192 client: fix monitor crash on type change 2017-09-29 15:23:14 -05:00
Michael Davidsaver
0a9797f962 detect type change bug 2017-09-28 16:48:16 -05:00
Michael Davidsaver
5137b90f56 minor client message handling
avoid unnecessary dynamic_cast
2017-09-06 13:49:24 -05:00
Michael Davidsaver
27ec187bd4 inetAddressUtil no more new vector
no more allocating vector.
2017-09-02 09:55:15 -05:00
Michael Davidsaver
98df225583 insturment with reftrack 2017-08-30 11:17:03 -05:00
Michael Davidsaver
561ea53198 Revert "avoid unnecessary temp. vector"
This reverts commit 623596f327.

Turns out it is necessary as reportStatus()
can modify m_responseRequests
2017-08-16 10:34:43 +02:00
Michael Davidsaver
623596f327 avoid unnecessary temp. vector 2017-07-19 16:20:00 +02:00
Michael Davidsaver
23133e5c10 disambiguate Destroyable
MSVC gets confused by 'using epics::pvData'
which pulls in typedef.
2017-07-17 16:32:22 +02:00
Michael Davidsaver
39a69fc155 unnecessary include of deprecated 2017-07-17 11:27:19 +02:00
Michael Davidsaver
006224b4d1 pva client break ref loop with ChannelRequester
pvutils: remove ChannelRequesterImpl
2017-07-07 18:44:24 +02:00
Michael Davidsaver
05b6da623a rename GUID -> ServerGUID
avoid ambigious name on windows/mingw
2017-07-04 17:57:20 +02:00
Michael Davidsaver
e2a40b1a54 pva client fix getField 2017-07-03 19:24:01 +02:00
Michael Davidsaver
c84d41396d pva client: reverse operation -> requester strong ref
make this a weak ref as it is more natural
that the initiator (requester) holds
a strong ref to the operation.
2017-07-03 19:24:00 +02:00
Michael Davidsaver
83ee4522ce remove necessary indirection 2017-07-03 19:24:00 +02:00
Michael Davidsaver
734110eba5 remove unused 2017-07-03 19:24:00 +02:00
Michael Davidsaver
63a7649693 quiet spurious warning 2017-06-27 12:59:13 +02:00
Michael Davidsaver
8a35fbb11e reduce the number of public symbols 2017-06-26 20:17:18 +02:00
Michael Davidsaver
c8bdcb62de quiet spurious warning 2017-06-22 13:17:22 +02:00
Michael Davidsaver
e7c6b83c43 add OVERRIDE FINAL to PVA client/server providers 2017-06-20 20:27:06 +02:00
Michael Davidsaver
dc87ee0e31 client: prevent escape of internal refs 2017-06-20 11:20:48 +02:00
Michael Davidsaver
163ab8fbd8 client context ownership
client Channels don't keep their provider alive
2017-06-20 11:06:18 +02:00
Michael Davidsaver
1d038fdba8 yet most client ref. loop breaking 2017-06-19 18:57:49 +02:00
Michael Davidsaver
bb31417d4c more client ref. loop breaking 2017-06-19 16:24:11 +02:00
Michael Davidsaver
c5c6510a13 avoid log spam 2017-06-19 14:28:32 +02:00
Michael Davidsaver
cd722388dc fix client Channel ref leak through Context search map 2017-06-19 11:30:08 +02:00