Michael Davidsaver
8b8ad08a7f
minor
2017-07-03 19:23:46 +02:00
Michael Davidsaver
018858d840
add MonitorElement::Ref
2017-06-28 13:49:59 +02:00
Michael Davidsaver
a3185f11da
MonitorElement const and state tracking
...
Mark MonitorElement member pointers as const
to prevent user code from accidentally mangling.
Add 'state' tracking to help debugging
2017-06-27 15:42:27 +02:00
Michael Davidsaver
63a7649693
quiet spurious warning
2017-06-27 12:59:13 +02:00
Michael Davidsaver
4003357df6
ServerChannelImpl cleanup
2017-06-27 10:27:53 +02:00
Michael Davidsaver
8a35fbb11e
reduce the number of public symbols
2017-06-26 20:17:18 +02:00
Michael Davidsaver
04c2df53a1
minor
2017-06-26 18:25:39 +02:00
Michael Davidsaver
42e12896d4
serverContext: shared_ptr debugging
2017-06-26 16:41:55 +02:00
Michael Davidsaver
49c3541204
minor
2017-06-26 16:41:14 +02:00
Michael Davidsaver
d5481cc277
minor
2017-06-26 16:24:36 +02:00
Michael Davidsaver
0c02625aa5
servercontext wait for transport worker threads to finish
...
doing this through Transport::close()
causes deadlock in client code due to locking.
So make this an extra step.
2017-06-26 14:16:41 +02:00
Michael Davidsaver
3dca3dc38f
ServerContext clear timer queue
2017-06-22 13:51:38 +02:00
Michael Davidsaver
c8bdcb62de
quiet spurious warning
2017-06-22 13:17:22 +02:00
Michael Davidsaver
7ccd8df02f
PipelineMonitor -> Monitor
...
collapse PipelineMonitor into Monitor
no-op virtual call is probably less work than
dynamic_cast.
2017-06-22 13:09:42 +02:00
Michael Davidsaver
77bf33700e
default ChannelProvider::channelList
2017-06-21 19:51:30 +02:00
Michael Davidsaver
9dbefeaee3
more doc
2017-06-21 17:41:32 +02:00
Michael Davidsaver
8270a25791
Re-add ServerContext::getChannelProviders()
2017-06-21 15:13:58 +02:00
Michael Davidsaver
35d2c610bf
separate ChannelProviderRegistry for client/server
2017-06-21 14:41:24 +02:00
Michael Davidsaver
46137f96bb
deprecate dispose()
...
bad practice
2017-06-20 20:30:37 +02:00
Michael Davidsaver
e7c6b83c43
add OVERRIDE FINAL to PVA client/server providers
2017-06-20 20:27:06 +02:00
Michael Davidsaver
7f625c43e3
ChannelProvider::createChannel() optional ChannelRequester
2017-06-20 19:01:22 +02:00
Michael Davidsaver
9a9896042a
more doc
2017-06-20 15:33:36 +02:00
Michael Davidsaver
64b77f6da3
caProvider: start/stop with atexit
2017-06-20 11:32:15 +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
a453dd75fe
docs
2017-06-16 17:47:41 +02:00
Michael Davidsaver
3a190cb572
deprecate RPCClient::sendRequest()
...
Changes to provider factory registery make this
very inefficient (build a new client context of each request)
2017-06-08 20:37:20 +02:00
Michael Davidsaver
3e37781d85
update RPCClient
...
Addition ctor to use specific Provider (w/ custom config).
Start connect immediately.
Remove need to issueConnect()/waitConnect().
2017-06-08 20:35:43 +02:00
Michael Davidsaver
fabb85c5e3
stupid typo
...
oops
2017-06-08 18:56:00 +02:00
Michael Davidsaver
7f4d48a176
note ref. loop in response handlers
2017-06-08 16:25:26 +02:00
Michael Davidsaver
33e842db2e
boilerplate reduction
2017-06-08 16:23:15 +02:00
Michael Davidsaver
9cbc8fdea6
handle multiple ClientFactory::start()
2017-06-07 14:36: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
0468bd0d08
getChannelProviderRegistry() avoid global init order issues
2017-06-06 10:55:10 +02:00
Michael Davidsaver
58b4a5ef64
ClientFactory::start() avoid custom ChannelProviderFactory
2017-06-06 10:41:36 +02:00
Michael Davidsaver
de84fadeb7
ChannelProviderRegistry::add w/ factory function
2017-06-06 10:35:13 +02:00
Michael Davidsaver
6926d911ee
caProvider: init issues
...
avoid static init order issues
ref. count to allow multiple calls to CAClientFactory::start()
2017-06-06 09:46:47 +02:00
Michael Davidsaver
34eeb0717a
SimpleChannelProviderFactory: weak_ptr to shared instance
2017-06-06 09:46:47 +02:00
Michael Davidsaver
860054a7a2
ChannelProviderRegistry update add()/remove()
...
add() return created SimpleChannelProviderFactory instance.
remove()
missing Lock
and remove by instance as well as by name.
2017-06-06 08:28:08 +02:00
Michael Davidsaver
f8c8925b83
don't swallow exception
2017-06-06 08:18:13 +02:00
Michael Davidsaver
6fcfd60bd5
BlockingUDPTransport wrap close() to break ref. loop
2017-06-02 12:32:12 +02:00
Michael Davidsaver
11cc395baf
more BlockingTCPTransportCodec::close() wait for threads
...
can't wait here as locks are held
2017-06-02 12:30:40 +02:00
Michael Davidsaver
8859c4d471
blockingUDPTransport really join thread
2017-06-02 11:25:04 +02:00