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
Matej Sekoranja
2cf38c875b
updated version
2016-07-26 23:34:15 +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
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
Matej Sekoranja
3a73cb687b
ca provider destruction fixed
...
resolves #53
2016-06-14 22:34:14 +02:00
Dave Hickin
56286872b1
Correct get of display.limitLow
2016-05-18 11:38:23 +01:00
Dave Hickin
5d992aee1a
Keep NT id if optional field of DBR match not requested
2016-05-17 10:34:31 +01:00
Dave Hickin
362f3c02d7
Return requested fields in caProvider
...
caProvider matches to closest DBR type. Strip out unrequested fields
and only return requested parts of structure fields. Includes enums.
Check fields are non-null rather than throwing. Check labels non-null to
handle requests for choices field without index.
Fixes #42 . Covers most cases of #41 .
2016-05-17 10:33:24 +01:00
Matej Sekoranja
4e264f2295
win32: moved osiSockAttach() call before loadConfiguration
...
should fix #45
2016-04-26 20:48:27 +02:00
mrkraimer
a9e3f274c0
remove dead code
2016-04-19 15:10:41 -04:00
mrkraimer
998bf8ac67
PVAServerRegister:: allow providerList, do not use epicsAtExit
2016-04-19 10:07:58 -04:00
Andrew Johnson
0f61408a28
Minor clean-up after issue #43 fix.
2016-04-14 11:36:14 -05:00
Matej Sekoranja
6dc9b0f96f
replaced LGPL wildcard matcher w/ simplistic epics-base version
2016-04-14 11:31:32 +02:00
Andrew Johnson
6698bb86fb
Additional includes needed for MSVC
2016-04-06 17:02:03 -05:00
Andrew Johnson
b928ea4aab
Fix oops when MB turned off.
2016-04-06 16:21:06 -05: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
0ad8ece840
Define and use GETPID() macro
2016-04-06 15:19:35 -05:00
Andrew Johnson
f2f14dc5a7
Link with pvMB when requested
2016-04-06 10:59:23 -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
1e031bf393
Reorder some include lines
...
Order should be
Compiler, OS, Base, pvData, pvAccess
This makes it much easier to get the epicsExport stuff right.
2016-04-06 10:59:23 -05:00
Andrew Johnson
01dce98a6c
Add copyright notice
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
Matej Sekoranja
02656af922
"monitor reconnect of different type channel" fix
...
In addition Monitor::release method checks if structure is of the right
type.
References #40 .
2016-04-06 14:00:17 +02:00
Matej Sekoranja
2f73b206bb
destroy channel: missing 4 bytes request
2016-03-30 09:11:21 +02:00
Andrew Johnson
5ffdb89450
Lower-case windows header filename for MinGW builds
2016-03-29 17:18:00 -05:00
Matej Sekoranja
b70c1d69a8
ChannelProviderFactoryImpl static destruction fixed
...
references #37
2016-03-23 23:15:29 +01:00
Matej Sekoranja
04a90c4780
c++11 compilation issues
...
references #28
2016-03-23 22:04:09 +01: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
cce2a6c4b7
Merge pull request #36 from mdavidsaver/reqoptypedef
...
Add requester_type and operation_type
2016-03-21 22:00:42 +01:00
Matej Sekoranja
f14fdd207c
merge
2016-03-21 21:54:37 +01:00