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
Michael Davidsaver
f610f498fa
more missing virtual dtors
2017-06-19 11:16:14 +02:00
Michael Davidsaver
33e842db2e
boilerplate reduction
2017-06-08 16:23:15 +02:00
Michael Davidsaver
8febd176bb
PVA client ref. loop breaking
...
Adjust ownership of BaseRequestImpl sub-classes.
Keep two weak_ptr<>.
one (internal) for tracking relations with Channel.
one (external) for tracking relations w/ user code, and send Q.
external wraps internal, and calls destroy() to break
ref. loops involving internal.
death to m_thisPointer!
2017-06-07 13:33:10 +02:00
Michael Davidsaver
0334483297
avoid unnecessary globals
2017-06-06 16:23:22 +02:00
Michael Davidsaver
ad2ad17fe5
drop unused
2017-06-06 15:33:49 +02:00
Michael Davidsaver
58b4a5ef64
ClientFactory::start() avoid custom ChannelProviderFactory
2017-06-06 10:41:36 +02:00
Michael Davidsaver
f8c8925b83
don't swallow exception
2017-06-06 08:18:13 +02:00
Michael Davidsaver
3fa6a4e4cc
TransportRegistry composed
...
no need for a seperate allocation and shared_ptr
2017-05-31 15:48:30 +02:00