Commit Graph

107 Commits

Author SHA1 Message Date
Michael Davidsaver
09101fb321 no need to include osdSock.h 2017-07-19 15:22:16 +02:00
Michael Davidsaver
ad5d23f4c8 minor vx fix 2017-07-17 17:38:51 +02:00
Michael Davidsaver
5f788c036a iOS compat 2017-07-17 17:19:10 +02:00
Michael Davidsaver
2c530868f6 split out caprovider as libpvAccessCA
fixup multi-library build
2017-07-17 13:51:20 +02:00
Michael Davidsaver
24257c3035 remove unnecessary exports and installed impl header 2017-07-12 16:34:11 +02:00
Michael Davidsaver
be5047ce04 more import/export 2017-07-10 14:10:48 +02:00
Michael Davidsaver
05b6da623a rename GUID -> ServerGUID
avoid ambigious name on windows/mingw
2017-07-04 17:57:20 +02:00
Michael Davidsaver
c84d41396d pva client: reverse operation -> requester strong ref
make this a weak ref as it is more natural
that the initiator (requester) holds
a strong ref to the operation.
2017-07-03 19:24:00 +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
cd722388dc fix client Channel ref leak through Context search map 2017-06-19 11:30:08 +02:00
Michael Davidsaver
ad2ad17fe5 drop unused 2017-06-06 15:33:49 +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
Michael Davidsaver
3fa6a4e4cc TransportRegistry composed
no need for a seperate allocation and shared_ptr
2017-05-31 15:48:30 +02:00
Michael Davidsaver
3ad27665e8 BlockingTCPTransportCodec::close() wait for threads 2017-05-31 15:47:46 +02:00
Michael Davidsaver
6ad8ba3ba2 AbstractCodec pure virtual redundant to Transport::close()=0 2017-05-31 13:09:21 +02:00
Michael Davidsaver
ce25f0b175 ServerContext ref. loop breaking and threading
Drop unnecessary "worker" thread which does no work.
Ensure that returned shared_ptr is unique()==true.

Add ServerContext::create() to start a new server
with specific config and/or providers
2017-05-31 11:40:51 +02:00
Michael Davidsaver
dd78b467f8 consolidate AtomicBoolean 2017-05-30 17:32:28 +02:00
Michael Davidsaver
277e5c33fb privatize some API details
hide a number of APIs which should not
be public APIs.
2017-05-30 17:12:31 +02:00
Michael Davidsaver
7c2a093338 add ChannelBaseRequester::channelDisconnect()
per-operation notification of channel disconnect/destroy.
2017-05-25 18:01:41 -04:00
Michael Davidsaver
e80ab0464e less hacky-ness in operation disconnect/destroy notification
avoid pointer/reference comparison.
2017-05-24 17:20:17 -04: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
0c1f410e63 avoid unnecessary auto_ptr/new 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
Michael Davidsaver
4a9d79f019 sockAddrToA -> sockAddrToDottedIP
Avoid blocking host name lookup for debug log messages.
Can cause long delays when DNS not available.
2017-04-15 11:48:24 -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
Andrew Johnson
7ccb64eea6 Fix includes on wrong side of epicsExportSharedSymbols 2016-04-06 10:59:23 -05:00
Andrew Johnson
12d68fe209 Add epicsExportSharedSymbols, move some includes 2016-04-06 10:59:22 -05:00
Andrew Johnson
7ed5f8b4bf Wrong keyword, use epicsShareFunc 2016-04-06 10:59:22 -05:00
Andrew Johnson
5ffdb89450 Lower-case windows header filename for MinGW builds 2016-03-29 17:18:00 -05:00
Matej Sekoranja
85e881fbcd send udp transport initialization order, search response broadcast transport null check
closes #39
2016-03-23 21:10:04 +01:00
Matej Sekoranja
5279d247ca general indent beautification 2016-03-10 23:36:16 +01:00
Matej Sekoranja
f0417995d0 UDP transport: memory issues fixed 2016-03-09 22:59:21 +01:00
Matej Sekoranja
b1539df759 remote client context: context-provider relationship removed, unnecessary dangling transport creation (server on multiple NIFs) 2016-03-08 22:25:21 +01:00
Matej Sekoranja
87c11d83d2 win32 port 2016-03-06 21:21:26 +01:00
Matej Sekoranja
9b6fdaaaff rtems: reference to 'Thread' is ambiguous 2016-03-03 00:29:54 +01:00
Matej Sekoranja
39739c8437 fixed tricky UDP transport replayTo issue 2016-03-02 22:24:22 +01:00
Matej Sekoranja
c149f81cba std::tr1::static_pointer_cast missing 2016-03-02 13:44:19 +01:00
Matej Sekoranja
56b6279035 manual merge 2016-03-02 13:34:05 +01:00
Matej Sekoranja
0db4a9a342 udp transport initialization refactoring (deduplication) 2016-03-02 12:37:58 +01:00
Matej Sekoranja
1ca3918afa local multicast reimplemented 2016-03-01 12:11:25 +01:00
Matej Sekoranja
7bfe58f1e2 UDP transport shutdown fixed 2016-02-25 10:37:01 +01:00