Michael Davidsaver
111a3dde86
RX timeout
...
Enable idle timeout if both peers have version>=2.
2019-05-21 08:54:14 -07:00
Michael Davidsaver
79e73ab966
AbstractCodec cleanup
2019-05-21 08:54:14 -07:00
Michael Davidsaver
0f26f39b5b
more de-virt getRevision()
2019-05-21 08:51:01 -07:00
Michael Davidsaver
64453e1f1a
split client/server protocol version
2019-05-21 08:51:01 -07:00
Michael Davidsaver
3a2a3ac148
remove unused getSocketReceiveBufferSize()
2019-05-20 17:48:10 -07:00
Michael Davidsaver
0084b6e60a
de-virt Transport::getRevision()
...
Makes clear that this is/was only for TCP,
and eliminate redundant storage. Also apply
locking to this storage.
Use header version directly in search handler.
Correct as only UDP search is actually used atm.
2019-05-20 17:48:10 -07:00
Michael Davidsaver
fa484a883a
redo security (aka. access control)
...
Break up monolithic SecurityPlugin API into three parts.
1. Authentication.
2. Authorization.
3. Access Control decision. Left to ChannelProviders
2019-01-12 15:14:19 -08:00
Michael Davidsaver
2fec84461d
use of CMD_* instead of magic numbers
2018-10-02 12:52:24 -07:00
Michael Davidsaver
0eabf10005
codec: drop unused _shutdownEvent
...
using epicsThread::exitWait() instead
2018-04-04 18:31:12 -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
9b828852c0
Transport::getRemoteAddress() return reference
...
make it clear that result is always !NULL
2018-02-01 19:09:44 -08:00
Michael Davidsaver
58f996fd98
update transportRegistry
...
avoid leaks of SOCKET and leaving mutex locked
when exceptions are thrown.
2018-02-01 18:54:25 -08:00
Michael Davidsaver
9daf7a0cad
remove unnecessary includes
2018-01-31 11:51:13 -08:00
Michael Davidsaver
576b241faa
consolidate TransportClient and ChannelImpl as ClientChannelImpl
2017-11-06 15:51:43 -06:00
Michael Davidsaver
073c77b1ef
consolidate ServerChannel and ServerChannelImpl
...
"interface" with a single implementation.
combine and de-virtualize.
2017-11-06 15:14:41 -06:00
Michael Davidsaver
aaef110507
eliminate ChannelHostingTransport
...
an "interface" used once. Drop it and de-virtualize.
2017-11-06 13:41:58 -06:00
Michael Davidsaver
f91b593aea
no need to dllexport inline class w/o virtuals
2017-11-06 11:02:08 -06:00
Michael Davidsaver
161280220e
avoid std::min
2017-11-06 10:57:09 -06:00
Michael Davidsaver
8d5c27143b
pvasr list client channels
2017-11-05 17:11:28 -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
47332fdf90
server status reporting via iocsh
2017-11-05 15:59:01 -06:00
Michael Davidsaver
98df225583
insturment with reftrack
2017-08-30 11:17:03 -05:00
Michael Davidsaver
24257c3035
remove unnecessary exports and installed impl header
2017-07-12 16:34:11 +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
6ad8ba3ba2
AbstractCodec pure virtual redundant to Transport::close()=0
2017-05-31 13:09:21 +02:00
Michael Davidsaver
87dca19708
codec: avoid indirection when accessing buffers
...
avoid some indirection to make this code easier to follow.
move buffer lower limit to base class.
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
2cc1be2dee
codec.h: minor
2017-05-24 17:20:17 -04:00
Michael Davidsaver
ab4f0b7e3a
collapse BlockingSocketAbstractCodec -> BlockingTCPTransportCodec
2017-05-24 17:20:17 -04:00
Michael Davidsaver
e47124aa30
collapse BlockingAbstractCodec into BlockingSocketAbstractCodec
2017-05-24 17:20:17 -04:00
Michael Davidsaver
5428b1ed2d
codec.h: add virtual and decorate w/ OVERRIDE/FINAL
...
Mark where inheritance is actually happening,
and where it ends.
2017-05-24 17:20:17 -04:00
Andrew Johnson
e28fd6129e
Remove need to undef epicsExportSharedSymbols
...
This approach works OK, but makes it much harder to find files
that have mistakes in them since they can cause other functions
to get the wrong import/export setting.
2016-04-06 10:59:23 -05:00
Matej Sekoranja
5279d247ca
general indent beautification
2016-03-10 23:36:16 +01:00
Matej Sekoranja
56b6279035
manual merge
2016-03-02 13:34:05 +01:00
Michael Davidsaver
49058d260b
move installed headers to pv/ sub-dir
2016-01-26 15:36:07 -05:00