Commit Graph

1132 Commits

Author SHA1 Message Date
Michael Davidsaver
65cdff288f Configuration list keys 2017-06-01 01:54:17 +02:00
Michael Davidsaver
8971d2771c ServerContextImpl::destroyAllTransports()
Better check for ref. leaks
2017-05-31 15:58:15 +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
e72396a022 auto-start PVA server w/ initHook
split of this code into a new library pvAccessIOC
which depends on all core libraries.
2017-05-31 13:01:52 +02:00
Michael Davidsaver
634e50e011 startPVAServer() has to keep the pointer 2017-05-31 12:18:42 +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
0fbbcc2d9f remove deprecated Properties 2017-05-30 17:33:04 +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
7c85e6073b move ServerContextImpl into private header 2017-05-30 12:07:23 +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
d7a7b81900 move monitor.h from pvDataCPP 2017-05-24 17:20:17 -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
24c9b31cf6 update pvAccess.h doc comments
describe how things should be!
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
bbe6cb2553 Lock provide default no-op implementation for lock/unlock 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
d404769133 add default for first Channel::createChannel()
default for first form which calls the second
2017-05-24 17:20:17 -04:00
Michael Davidsaver
568054ce68 add virtual dtors
being pedantic...
2017-05-24 17:20:17 -04:00
Michael Davidsaver
65cb1c8397 minor 2017-05-10 14:59:16 -04:00
Michael Davidsaver
9dbd354bc0 caProvider: pretend to allow create with Configuration 2017-05-09 18:23:45 -04:00
Michael Davidsaver
065d653a14 minor 2017-05-09 18:23:45 -04:00
Michael Davidsaver
9253c31c0b rework ChannelProviderRegistry
Replace interface+impls with a single concrete container
which wraps a map.

This breaks code which was sub-classing.
However, no external code can be found which does this.

A build() method is used instead of simple ctor so
that the ctor is private, which will cause theoretical
external sub-class code to fail to compile.

Code using getChannelProviderRegistry()
and existing methods will behave as before.

Add ChannelProviderRegistry::getFactory() for pass through
to ChannelProviderFactory (Registery is just a proxy()...)

Remove existing get/create virtual method in favor of getFactory.
Update both existing implementations.

Add SimpleChannelProviderFactory to cut down on boilerplace
for the common case.

Add method to clear mapping and release any saved sharedInstance.
2017-04-25 21:15:43 -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
Ralph Lange
9afa99a189 jenkins: fix CloudBees build script 2016-07-28 12:00:56 +02:00
Matej Sekoranja
2cf38c875b updated version 2016-07-26 23:34:15 +02:00
Matej Sekoranja
2157a9e1a8 updated RELEASE_NOTES.md 2016-07-26 23:27:59 +02:00
Ralph Lange
25aa16c6d7 jenkins: add pvCommon dependency 2016-07-22 14:57:26 +02:00
Ralph Lange
e15bdb76e2 jenkins: fix test of exit code 2016-07-19 23:47:12 +02:00
Ralph Lange
f77b596387 jenkins: fix logic for using NO_MICROBENCH as fallback 2016-07-19 23:40:58 +02:00
Ralph Lange
9af6c6472f jenkins: use install functions, add BRANCH variable to doc script 2016-07-19 23:08:13 +02:00
Matej Sekoranja
c12b0d130e Merge pull request #57 from dhickin/caProvider_arrays
caProvider: Remove control/valueAlarm for arrays
2016-07-19 17:26:48 +02:00
Matej Sekoranja
755759a650 Merge pull request #56 from dhickin/caProvider_status
Correctly set status in caProvider
2016-07-19 12:16:05 +02:00
Matej Sekoranja
4e75078db2 updated LICENSE file 2016-07-19 10:16:27 +02:00
Dave Hickin
e0e45c3a0e caProvider: Remove control/valueAlarm for arrays
This brings caProvider behaviour in line with pvaSrv.
2016-07-18 16:35:43 +01:00
Dave Hickin
dc61b3a4cd Correctly set status in caProvider 2016-07-18 15:26:17 +01:00
Ralph Lange
9c928ed9a4 jenkins: add Boost.CB-dist if WITH_MICROBENCH 2016-07-12 22:03:55 +02:00
Ralph Lange
da9a3be589 jenkins: use environment variables; default Base 3.15.4 2016-07-12 19:44:48 +02:00
Matej Sekoranja
3a73cb687b ca provider destruction fixed
resolves #53
2016-06-14 22:34:14 +02:00
Matej Sekoranja
ce6ea1e51d Merge pull request #48 from dhickin/fix_issue_42
Fix issue 42
2016-05-19 15:33:10 +02:00
Matej Sekoranja
74028c9640 testRAII added 2016-05-19 14:53:16 +02:00
Dave Hickin
56286872b1 Correct get of display.limitLow 2016-05-18 11:38:23 +01:00