Michael Davidsaver
bab32c332a
codec: notes on thread self dtor
2018-04-04 18:40:46 -07:00
Michael Davidsaver
54bb30fd86
reftrack BlockingUDPTransport
2018-04-04 18:31:12 -07:00
Michael Davidsaver
a8e26123c7
minor doc
2018-04-04 18:31:12 -07:00
Michael Davidsaver
7f5eb1de4d
BlockingClientTCPTransportCodec collapse closedNotifyClients() into internalClose()
2018-04-04 18:31:12 -07:00
Michael Davidsaver
0eabf10005
codec: drop unused _shutdownEvent
...
using epicsThread::exitWait() instead
2018-04-04 18:31:12 -07:00
Michael Davidsaver
192955e7b5
client context: don't call cancel()
...
it doesn't do anything!
2018-04-04 14:55:41 -07:00
Michael Davidsaver
83a941c070
channelSearchManager minor
2018-04-04 14:53:52 -07:00
Michael Davidsaver
18491f6eb3
const-ify AbstractClientResponseHandler::_context
2018-04-04 10:12:44 -07:00
Michael Davidsaver
9e090fa191
client context: avoid lock order violations
...
avoid ordering violation of calling checkAndGetTransport(),
which locks channel mutex, while request mutex is locked.
2018-04-04 10:12:44 -07:00
Michael Davidsaver
8068ab3454
eliminate unnecessary m_nullMonitorElement
2018-04-04 10:12:44 -07:00
Michael Davidsaver
40ecc93e9d
client context: use mutex guards
...
whether this locking is necessary is another question...
2018-04-04 10:12:44 -07:00
Michael Davidsaver
f2164ddb5a
fix typedef in security.h
...
Can't refer to typedef in (private) remote.h
from (public) security.h
2018-04-04 10:12:44 -07:00
Michael Davidsaver
fe5780521b
Context::getSecurityPlugins() no return of non-const ref.
...
Return of map as non-const ref. allows callers to modify.
Probably unintended.
2018-04-04 09:09:43 -07:00
Michael Davidsaver
3859793405
serverContext explicitly close/flush Timer queue
2018-04-02 12:40:18 -07:00
Michael Davidsaver
a3d820cf57
DefaultBeaconServerStatusProvider avoid unnecessary ServerContext ref
...
breaks loop ServerContext -> beaconEmitter -> BSSP -> ServerContext
2018-04-02 12:39:46 -07:00
Michael Davidsaver
abed887d87
beaconEmitter: avoid ref. loop with Timer
...
emitter schedules itself and timer holds a ref.
while queued. So the emitter isn't destroyed
until the timer expires.
2018-04-02 12:38:42 -07:00
Michael Davidsaver
d6a29a2a86
beaconEmitter const-ify data members
2018-04-02 11:53:00 -07:00
Michael Davidsaver
28cec947ae
serverContext: collapse destroyAllTransports() into shutdown()
2018-04-02 11:47:20 -07:00
Michael Davidsaver
eed26a166e
testChannelAccess: loosen timestamp tests to reduce false positive failures
2018-04-02 11:45:33 -07:00
Michael Davidsaver
df14a19ae0
codec: eliminate internalPostClose()
...
no reason to distinguish before and after
send worker break is _requested_ (won't
actually be stopped).
2018-04-02 11:30:19 -07:00
Michael Davidsaver
434a43dfe1
codec: less force-ful shutdown
...
eliminate unused 'force' argument.
2018-04-02 10:46:57 -07:00
Michael Davidsaver
da85d39c0c
codec: const-ify socket
...
Avoid possible data race of changing _channel
before worker threads are joined.
Was just using this as a boolean flag for a method
which is already guarded in BlockingTCPTransportCodec::close()
from being called twice.
2018-04-02 10:41:30 -07:00
Michael Davidsaver
38965bb847
codec: collapse internalDestroy() into internalClose()
2018-04-02 10:24:35 -07:00
Michael Davidsaver
6c2d20353a
minor, avoid extra string copys
2018-03-28 13:59:33 -07:00
Michael Davidsaver
a6d86d2a3c
hide MockTransportSendControl
2018-03-28 13:49:21 -07:00
Michael Davidsaver
735dc22e2d
collapse SimpleChannelSearchManagerImpl into ChannelSearchManager
...
Virtual base with only one sub-class. So avoid some unnecessary
indirection.
2018-03-28 13:37:42 -07:00
Michael Davidsaver
1a100a0955
client fix init order leading to *NULL
...
Avoid a race between the main thread alloc of SimpleChannelSearchManagerImpl
the the UDP socket worker trying to use the same.
Split allocation and initialization of search manager
around socket creation and worker start.
Also in-line initializeUDPTransport() to only call site.
2018-03-28 13:21:46 -07:00
Michael Davidsaver
aec1c7c9d7
client search: cleanup context pointer handling
2018-03-28 11:25:54 -07:00
Michael Davidsaver
8d363f9fe7
server responseHandlers annotate OVERRIDE FINAL
2018-03-22 14:03:57 -07:00
Michael Davidsaver
3b53e81f2f
avoid destroy() w/ lock
2018-03-22 13:39:04 -07:00
Michael Davidsaver
e9cc8298a6
server monitor cleanup
...
ServerMonitorRequesterImpl::getChannelMonitor()
seems like no possibility of deadlock atm.
2018-03-22 13:34:55 -07:00
Michael Davidsaver
4fcbdff580
missing includes
2018-03-19 15:36:21 -07:00
Michael Davidsaver
93196e6314
drop rtemsConfig.c
...
no longer needed.
2018-03-19 09:29:25 -07:00
Michael Davidsaver
8d262fc9fe
simpler test harness main()
2018-03-13 18:55:49 -07:00
Andrew Johnson
9687555c98
Move epicsExit() call into pvAccessAllTests()
...
Needed on VxWorks to display the test summary.
2018-03-13 13:46:56 -05:00
Andrew Johnson
802efbd6c1
Rename vxTestHarness -> pvaTestHarness
...
Integrate with Michael's similar changes for RTEMS.
2018-03-13 13:46:14 -05:00
Michael Davidsaver
0e61565308
rename rtemsTestHarness -> pvaTestHarness
...
avoid name clash with rtemsTestHarness
from pvDataCPP.
2018-03-12 09:13:59 -07:00
Michael Davidsaver
af2adf9248
pvlist remove comma
...
some shells will include the trailing ',' in selection
when double clicking. Users find this annoying.
2018-03-08 11:43:36 -05:00
Michael Davidsaver
acab4cd408
fix potential *NULL from Get2PutProxy
2018-03-08 11:42:56 -05:00
Michael Davidsaver
23c2ed3484
spamme respond to all spam
...
match the prefix "spam" to allow
clients to subscribe eg. "spam1"
and "spam2" to test concurrent
streaming and load balancing.
2018-02-27 17:35:16 -08:00
Michael Davidsaver
74fbd22d40
pvput: fix enum_t
...
Need to get value.choices
2018-02-27 14:29:50 -08:00
Michael Davidsaver
d605eaca11
pvput avoid unnecessary iteration
2018-02-27 13:27:38 -08:00
Michael Davidsaver
ef74bdeccd
Merge remote-tracking branch 'origin/master'
...
* origin/master:
implement suggestions from Andrew
termination and error handling changes.
2018-02-21 11:20:20 -08:00
Michael Davidsaver
909cef9200
minor
2018-02-21 11:19:58 -08:00
Michael Davidsaver
b5bf6a4ccd
client: (shallow) copy into Monitor::root
...
Avoid exposing refs. from monitor queue
which might then be used after release().
Also allows users the possibility of caching
getSubField() until root.get() actually changes.
2018-02-21 11:19:21 -08:00
Michael Davidsaver
79ada524fa
getRequester() may return NULL
2018-02-20 11:28:32 -08:00
Michael Davidsaver
50cee1d161
minor
2018-02-20 10:18:39 -08:00
Marty Kraimer
fe52a1673e
Merge pull request #88 from mrkraimer/master
...
termination and error handling changes.
2018-02-16 05:29:43 -05:00
mrkraimer
5b32b4e072
implement suggestions from Andrew
2018-02-15 15:57:00 -05:00
Michael Davidsaver
685490fc1a
no NDEBUG
...
Apparently the Base makefiles never have defined NDEBUG.
So no point for this conditional.
2018-02-14 08:55:01 -08:00