Commit Graph

1189 Commits

Author SHA1 Message Date
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
ba76cd0eb3 examples: monitorme/spamme support pipeline=true 2017-06-22 13:34:47 +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
aba78331c6 add spamme example 2017-06-22 12:41:10 +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
0b0ed3ade5 drop boilerplate message() 2017-06-21 17:12:12 +02:00
Michael Davidsaver
8270a25791 Re-add ServerContext::getChannelProviders() 2017-06-21 15:13:58 +02:00
Michael Davidsaver
e97a24ef62 minor 2017-06-21 14:41:37 +02:00
Michael Davidsaver
35d2c610bf separate ChannelProviderRegistry for client/server 2017-06-21 14:41:24 +02:00
Michael Davidsaver
2e7d28b87d missing headers 2017-06-20 20:50:59 +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
3cd9e1b4a8 examples use default ChannelRequester 2017-06-20 19:01:39 +02:00
Michael Davidsaver
7f625c43e3 ChannelProvider::createChannel() optional ChannelRequester 2017-06-20 19:01:22 +02:00
Michael Davidsaver
67c07aa979 getme example minor 2017-06-20 18:19:53 +02:00
Michael Davidsaver
9a9896042a more doc 2017-06-20 15:33:36 +02:00
Michael Davidsaver
61312b2a65 add monitorme example 2017-06-20 14:16:39 +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
c53787f9bd getme example: wait time 2017-06-20 11:09:19 +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
3499bcb4af more getme.cpp 2017-06-19 14:28:16 +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
08be031696 add getme example 2017-06-19 10:56:56 +02:00
Michael Davidsaver
ebb5bc267b gh-pages for docs 2017-06-16 17:56:13 +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
d0915581b4 rationalize CLI handling of providers 2017-06-07 19:59:56 +02:00
Michael Davidsaver
9cbc8fdea6 handle multiple ClientFactory::start() 2017-06-07 14:36:15 +02:00
Michael Davidsaver
edcb408e92 eget/pvget: must keep Monitor alive 2017-06-07 14:24:39 +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