Michael Davidsaver
90394f788e
minor
2017-09-06 12:37:42 -05:00
Michael Davidsaver
90e8276758
fixup point to point interface handling.
...
with bcast interfaces, send searches to bcast address
and !WIN32 binds bcast address to receive searches.
with point to point, send searches to dest address.
can't bind dest address (not local).
quiets spurious error message:
> Error binding socket: Cannot assign requested address.
Encountered with a P2P link setup by openvpn.
2017-09-06 10:38:20 -05:00
Michael Davidsaver
9bf307712b
improve UDP bind error
2017-09-06 09:52:53 -05:00
Michael Davidsaver
27ec187bd4
inetAddressUtil no more new vector
...
no more allocating vector.
2017-09-02 09:55:15 -05:00
Michael Davidsaver
9a09e5790e
blockingUDP: simplify vector* members
2017-09-02 09:55:15 -05:00
Michael Davidsaver
79874e1811
reftrack more classes
...
include the common abstract bases used by all ChannelProviders.
2017-09-02 09:55:15 -05:00
Michael Davidsaver
98df225583
insturment with reftrack
2017-08-30 11:17:03 -05:00
Michael Davidsaver
6aa6a570de
minor
2017-08-30 11:17:03 -05:00
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