Michael Davidsaver
7a523dd948
drop unused NOMINMAX
2018-05-18 15:20:26 -07:00
Michael Davidsaver
bab32c332a
codec: notes on thread self dtor
2018-04-04 18:40:46 -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
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
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
18758fa497
throw new doesn't work
...
javaism...
2018-02-13 18:07:58 -08:00
Michael Davidsaver
a266777d82
destroyAllChannels() swap out channels list
...
avoid possible modifications while iterating.
2018-02-13 17:58:56 -08:00
Michael Davidsaver
e8347f17b4
minor
2018-02-07 20:16:38 -08:00
Michael Davidsaver
5a86835a6f
add ref-counter for Transport ABC
2018-02-01 11:17:56 -08:00
Michael Davidsaver
3bb2f25bed
Merge remote-tracking branch 'origin/master'
...
* origin/master:
prevent CAChannel::disconnectChannel() from calling ca_clear_channel twice This was causing a crash when exiting
Revert "When caProvider is destroyed make sure all channels are cleared"
make changes suggested by andrew that remove warning messages
Clean up compiler warnings
fix issue #77
2018-01-31 11:51:57 -08:00
Michael Davidsaver
9daf7a0cad
remove unnecessary includes
2018-01-31 11:51:13 -08:00
Andrew Johnson
fa46935d35
Clean up compiler warnings
2018-01-04 17:52:36 -06:00
Michael Davidsaver
903d117485
pvAccessLog() add EPICS_PRINTF_STYLE()
...
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
ba3b777978
missed one
...
cf 2f0bb7d448
2017-11-16 11:18:13 -06:00
Michael Davidsaver
2f0bb7d448
"Not-a-first segmented message" is a critical error
...
Let's try to scare users into reporting it more promptly.
2017-11-15 19:38:26 -06: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
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
ad5d23f4c8
minor vx fix
2017-07-17 17:38:51 +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
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
3ad27665e8
BlockingTCPTransportCodec::close() wait for threads
2017-05-31 15:47:46 +02:00
Michael Davidsaver
3283bed413
drop PVA_ALIGNMENT constant
...
This will forevermore be 1, so no
reason to incur complexity of testing this.
size % PVA_ALIGNMENT -> 0
alignBuffer(PVA_ALIGNMENT) -> no-op
alignedValue(val, PVA_ALIGNMENT) -> val
2017-05-24 17:20:17 -04: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
Andrew Johnson
9a8644033d
Prevent redefinition of NOMINMAX
...
While this protection is not strictly necessary here, if someone
does a cut-and-paste into a header file it should be included.
2016-04-06 15:22:11 -05: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
9b6fdaaaff
rtems: reference to 'Thread' is ambiguous
2016-03-03 00:29:54 +01:00
Matej Sekoranja
125822d18f
one instance of responseHandler per context
2015-12-17 09:12:33 +01:00
Michael Davidsaver
b9dd9e8e6c
getRemoteName()
...
Cache the TCP peer address as a string and pass it to createChannel().
2015-12-14 17:04:57 -05:00
Michael Davidsaver
4a1bfff40f
Remove clearSendQueue
...
Use BreakTransport exception instead
2015-12-14 16:59:55 -05:00
Michael Davidsaver
730d30fe54
AbstractCodec use fair_queue
2015-12-14 16:59:55 -05:00
Michael Davidsaver
6254525cba
use epicsThread and Thread::Config
...
Catches errant c++ exceptions and is joinable
2015-12-14 16:59:47 -05:00
Michael Davidsaver
2e64b1b785
Message for unhandled exceptions in UDP message processing
2015-11-23 16:41:31 -05:00
Michael Davidsaver
c59715f687
cleanup commented code blocks
2015-11-23 16:41:31 -05:00
Matej Sekoranja
7eb0087d64
fixed bad tx performance
2015-02-04 20:08:25 +01:00
Matej Sekoranja
d3fb30d55d
removed annoying warning when client disconnects while server is processing a send message
2015-01-07 13:48:44 +01:00
Matej Sekoranja
228d7fe279
queue.take possible race, send thread does not wait for read anymore
2015-01-07 12:58:28 +01:00