Commit Graph

88 Commits

Author SHA1 Message Date
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
Michael Davidsaver
ce25f0b175 ServerContext ref. loop breaking and threading
Drop unnecessary "worker" thread which does no work.
Ensure that returned shared_ptr is unique()==true.

Add ServerContext::create() to start a new server
with specific config and/or providers
2017-05-31 11:40:51 +02:00
Michael Davidsaver
277e5c33fb privatize some API details
hide a number of APIs which should not
be public APIs.
2017-05-30 17:12:31 +02:00
Michael Davidsaver
7c2a093338 add ChannelBaseRequester::channelDisconnect()
per-operation notification of channel disconnect/destroy.
2017-05-25 18:01:41 -04:00
Michael Davidsaver
e80ab0464e less hacky-ness in operation disconnect/destroy notification
avoid pointer/reference comparison.
2017-05-24 17:20:17 -04:00
Michael Davidsaver
b05e7699b5 remove no-op lock/unlock from Lock sub-classes 2017-05-24 17:20:17 -04:00
Michael Davidsaver
65cb1c8397 minor 2017-05-10 14:59:16 -04:00
Michael Davidsaver
065d653a14 minor 2017-05-09 18:23:45 -04:00
Andrew Johnson
12d68fe209 Add epicsExportSharedSymbols, move some includes 2016-04-06 10:59:22 -05:00
Matej Sekoranja
02656af922 "monitor reconnect of different type channel" fix
In addition Monitor::release method checks if structure is of the right
type.
References #40.
2016-04-06 14:00:17 +02:00
Matej Sekoranja
2f73b206bb destroy channel: missing 4 bytes request 2016-03-30 09:11:21 +02:00
Michael Davidsaver
15449dde6b used aliased names for Monitor* 2016-03-18 15:01:48 -04:00
Matej Sekoranja
5279d247ca general indent beautification 2016-03-10 23:36:16 +01:00
Matej Sekoranja
b1539df759 remote client context: context-provider relationship removed, unnecessary dangling transport creation (server on multiple NIFs) 2016-03-08 22:25:21 +01:00
Matej Sekoranja
d380e4c367 VxWorks compilation fixes 2016-03-02 15:01:14 +01:00
Matej Sekoranja
56b6279035 manual merge 2016-03-02 13:34:05 +01:00
Matej Sekoranja
0db4a9a342 udp transport initialization refactoring (deduplication) 2016-03-02 12:37:58 +01:00
Matej Sekoranja
1ca3918afa local multicast reimplemented 2016-03-01 12:11:25 +01:00
Matej Sekoranja
fea2e1c263 monitor overrun double ref. fix 2016-02-27 19:54:57 +01:00
Matej Sekoranja
7bfe58f1e2 UDP transport shutdown fixed 2016-02-25 10:37:01 +01:00
Matej Sekoranja
f0ca714214 AUTO_ADDR_LIST - no fallback (as in CA) 2016-02-25 10:30:09 +01:00
Matej Sekoranja
11696cee6f pipeline client: ackAny percantage support 2016-02-22 12:07:58 +01:00
Matej Sekoranja
b99c49f6d8 pipeline monitor on client side: missing ensureBuffer on monitor init 2016-02-19 14:34:50 +01:00
Matej Sekoranja
db002e51c8 TODO cleanup 2016-01-04 20:12:09 +01:00
Matej Sekoranja
9eae48aef4 client: multiple NIF support 2016-01-04 19:28:17 +01:00
Matej Sekoranja
63a0c71fe9 local multicast revised for multiple NIF (server side only) 2015-12-31 11:18:49 +01:00
Matej Sekoranja
523af71b7f duplicate search responses from the same server bound to multiple NIFs filtered out 2015-12-17 14:02:11 +01:00
Matej Sekoranja
125822d18f one instance of responseHandler per context 2015-12-17 09:12:33 +01:00