pvxslibs 1.1.4a1__cp36-cp36m-manylinux1_x86_64.whl → 1.2.0a1__cp36-cp36m-manylinux1_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pvxslibs might be problematic. Click here for more details.

@@ -1033,6 +1033,7 @@ struct PVXS_API Config {
1033
1033
 
1034
1034
  private:
1035
1035
  bool BE = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG;
1036
+ bool UDP = true;
1036
1037
  public:
1037
1038
 
1038
1039
  // compat
@@ -1073,6 +1074,8 @@ public:
1073
1074
  // for protocol compatibility testing
1074
1075
  inline Config& overrideSendBE(bool be) { BE = be; return *this; }
1075
1076
  inline bool sendBE() const { return BE; }
1077
+ inline Config& overrideShareUDP(bool share) { UDP = share; return *this; }
1078
+ inline bool shareUDP() const { return UDP; }
1076
1079
  #endif
1077
1080
  };
1078
1081
 
@@ -0,0 +1,94 @@
1
+ /*
2
+ * Copyright - See the COPYRIGHT that is included with this distribution.
3
+ * pvxs is distributed subject to a Software License Agreement found
4
+ * in file LICENSE that is included with this distribution.
5
+ */
6
+ #ifndef PVXS_IOCHOOKS_H
7
+ #define PVXS_IOCHOOKS_H
8
+
9
+ #include <pvxs/version.h>
10
+
11
+ #if defined(_WIN32) || defined(__CYGWIN__)
12
+
13
+ # if defined(PVXS_IOC_API_BUILDING) && defined(EPICS_BUILD_DLL)
14
+ /* building library as dll */
15
+ # define PVXS_IOC_API __declspec(dllexport)
16
+ # elif !defined(PVXS_IOC_API_BUILDING) && defined(EPICS_CALL_DLL)
17
+ /* calling library in dll form */
18
+ # define PVXS_IOC_API __declspec(dllimport)
19
+ # endif
20
+
21
+ #elif __GNUC__ >= 4
22
+ # define PVXS_IOC_API __attribute__ ((visibility("default")))
23
+ #endif
24
+
25
+ #ifndef PVXS_IOC_API
26
+ # define PVXS_IOC_API
27
+ #endif
28
+
29
+ namespace pvxs {
30
+ namespace server {
31
+ class Server;
32
+ }
33
+ namespace ioc {
34
+
35
+ /** Return the singleton Server instance which is setup
36
+ * for use in an IOC process.
37
+ *
38
+ * This Server instance is created during a registrar function,
39
+ * started by the initHookAfterCaServerRunning phase of iocInit().
40
+ * It is stopped and destroyed during an epicsAtExit() hook added
41
+ * during an initHookAfterInitDatabase hook..
42
+ *
43
+ * Any configuration changes via. epicsEnvSet() must be made before registrars are run
44
+ * by \*_registerRecordDeviceDriver(pdbbase).
45
+ *
46
+ * server::SharedPV and server::Source added before iocInit() will be available immediately.
47
+ * Others may be added (or removed) later.
48
+ *
49
+ * @throws std::logic_error if called before instance is created, or after instance is destroyed.
50
+ *
51
+ * @code
52
+ * static void myinitHook(initHookState state) {
53
+ * if(state!=initHookAfterIocBuilt)
54
+ * return;
55
+ *
56
+ * server::SharedPV mypv(...);
57
+ * ioc::server()
58
+ * .addPV("my:pv:name", mypv);
59
+ * }
60
+ * static void myregistrar() {
61
+ * initHookRegister(&myinitHook);
62
+ * }
63
+ * extern "C" {
64
+ * epicsExportRegistrar(myregistrar); // needs matching entry in .dbd
65
+ * }
66
+ * @endcode
67
+ */
68
+ PVXS_IOC_API
69
+ server::Server server();
70
+
71
+ /**
72
+ * Load JSON group definition file.
73
+ * This function does not actually parse the given file, but adds it to the list of files to be loaded,
74
+ * at the appropriate time in the startup process.
75
+ *
76
+ * @param jsonFilename the json file containing the group definitions
77
+ * @param macros NULL, or a comma separated list of macro definitions. eg. "KEY=VAL,OTHER=SECOND"
78
+ * @return 0 for success, 1 for failure
79
+ * @since UNRELEASED
80
+ */
81
+ PVXS_IOC_API
82
+ long dbLoadGroup(const char* jsonFilename, const char* macros=nullptr);
83
+
84
+ /** Call just before testIocShutdownOk()
85
+ *
86
+ * Shutdown QSRV. Only needed with Base <= 7.0.4 .
87
+ * Since 7.0.4, QSRV shutdown occurs during testIocShutdownOk() .
88
+ * @since UNRELEASED
89
+ */
90
+ PVXS_IOC_API
91
+ void testShutdown();
92
+
93
+ }} // namespace pvxs::ioc
94
+ #endif // PVXS_IOCHOOKS_H
@@ -67,13 +67,19 @@ struct NTScalar {
67
67
  bool control;
68
68
  //! Include alarm (range) meta-data
69
69
  bool valueAlarm;
70
+ /** Include 'display.form' and 'display.precision' when 'value' is a numeric type
71
+ * @pre requires display=true
72
+ * @since UNRELEASED
73
+ */
74
+ bool form;
70
75
 
71
76
  constexpr
72
77
  NTScalar(TypeCode value = TypeCode::Float64,
73
78
  bool display = false,
74
79
  bool control = false,
75
- bool valueAlarm = false)
76
- :value(value), display(display), control(control), valueAlarm(valueAlarm)
80
+ bool valueAlarm = false,
81
+ bool form = false)
82
+ :value(value), display(display), control(control), valueAlarm(valueAlarm), form(form)
77
83
  {}
78
84
 
79
85
  //! A TypeDef which can be appended
@@ -176,6 +176,7 @@ struct PVXS_API Config {
176
176
 
177
177
  private:
178
178
  bool BE = EPICS_BYTE_ORDER==EPICS_ENDIAN_BIG;
179
+ bool UDP = true;
179
180
  public:
180
181
 
181
182
  // compat
@@ -220,6 +221,8 @@ public:
220
221
  // for protocol compatibility testing
221
222
  inline Config& overrideSendBE(bool be) { BE = be; return *this; }
222
223
  inline bool sendBE() const { return BE; }
224
+ inline Config& overrideShareUDP(bool share) { UDP = share; return *this; }
225
+ inline bool shareUDP() const { return UDP; }
223
226
  #endif
224
227
  };
225
228
 
@@ -61,6 +61,9 @@ struct MonitorStat {
61
61
  size_t maxQueue=0;
62
62
  //! Negotiated limit on nQueue
63
63
  size_t limitQueue=0;
64
+ //! Number of updates squashed during post() calss
65
+ //! @since UNRELEASED
66
+ size_t nSquash=0;
64
67
 
65
68
  bool running=false;
66
69
  bool finished=false;
@@ -106,7 +109,7 @@ public:
106
109
  //! Signal to subscriber that this subscription will not yield any further events.
107
110
  //! This is not an error. Client should not retry.
108
111
  void finish() {
109
- doPost(Value(), false, false);
112
+ doPost(Value(), false, true);
110
113
  }
111
114
 
112
115
  //! Poll information and statistics for this subscription.
@@ -23,6 +23,8 @@
23
23
  namespace pvxs {
24
24
 
25
25
  /** Prepare for testing. Call after testPlan()
26
+ * @since UNRELEASED If linked with pvxsIoc library, PVA server started
27
+ * by ``iocInit()`` will use "isolated" configuration.
26
28
  */
27
29
  PVXS_API
28
30
  void testSetup();
@@ -2,5 +2,5 @@
2
2
  # error Include pvxs/version.h instead of this file
3
3
  #endif
4
4
  #define PVXS_MAJOR_VERSION 1
5
- #define PVXS_MINOR_VERSION 1
6
- #define PVXS_MAINTENANCE_VERSION 4
5
+ #define PVXS_MINOR_VERSION 2
6
+ #define PVXS_MAINTENANCE_VERSION 0
Binary file
Binary file
Binary file
Binary file
pvxslibs/lib/libpvxs.so CHANGED
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,14 @@
1
+
2
+ # generated by setuptools_dso
3
+ import os
4
+
5
+ dsoname = 'pvxslibs.lib.pvxsIoc'
6
+ libname = 'libpvxsIoc.so'
7
+ soname = 'libpvxsIoc.so.1.2'
8
+ depends = ['pvxslibs.lib.pvxs', 'pvxslibs.lib.event_core', 'epicscorelibs.lib.dbRecStd', 'epicscorelibs.lib.dbCore', 'epicscorelibs.lib.Com']
9
+ dir = os.path.dirname(__file__)
10
+ filename = os.path.join(dir, libname)
11
+ sofilename = os.path.join(dir, soname)
12
+ del dir
13
+ del os
14
+ __all__ = ("dsoname", "libname", "soname", "filename", "sofilename")
@@ -4,7 +4,7 @@ import os
4
4
 
5
5
  dsoname = 'pvxslibs.lib.pvxs'
6
6
  libname = 'libpvxs.so'
7
- soname = 'libpvxs.so.1.1'
7
+ soname = 'libpvxs.so.1.2'
8
8
  depends = ['epicscorelibs.lib.Com', 'pvxslibs.lib.event_core', 'pvxslibs.lib.event_pthread']
9
9
  dir = os.path.dirname(__file__)
10
10
  filename = os.path.join(dir, libname)
@@ -16,6 +16,11 @@ class TestLoad(unittest.TestCase):
16
16
 
17
17
  self.assertNotEqual(0, pvxs_version_int())
18
18
 
19
+ libIoc = ctypes.CDLL(find_dso('...lib.pvxsIoc'), ctypes.RTLD_GLOBAL)
20
+
21
+ # load original QSRV to ensure no symbol conflicts
22
+ p2p = ctypes.CDLL(find_dso('epicscorelibs.lib.qsrv'), ctypes.RTLD_GLOBAL)
23
+
19
24
  class TestVersion(unittest.TestCase):
20
25
  def test_ver(self):
21
26
  from ..version import version_info, abi_requires
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pvxslibs
3
- Version: 1.1.4a1
3
+ Version: 1.2.0a1
4
4
  Summary: PVXS libraries packaged for python
5
5
  Home-page: https://mdavidsaver.github.io/pvxs
6
6
  Author: Michael Davidsaver
@@ -0,0 +1,38 @@
1
+ pvxslibs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ pvxslibs/path.py,sha256=FbVt5FQgbSMpS4yGGXnXZJ6NI775LbElaJQ95Wn5TIA,199
3
+ pvxslibs/version.py,sha256=vmbnHFP7nheGuX7r7LAKgJ4c2joFyUd4BPqeM4bpUfQ,984
4
+ pvxslibs/include/pvxs/client.h,sha256=xEHumVz1Rb2dt1EAvb-tElNC6os8xK5yzi2kyN84YFU,36817
5
+ pvxslibs/include/pvxs/data.h,sha256=19NwOI51ZHhDpjYRp0ClO9UJd8BJlP9cd7In7fLoXMs,28570
6
+ pvxslibs/include/pvxs/iochooks.h,sha256=iD3QCX6FkS35mIRw9wMgB0Baz8CO3NjA5J-wNz9_5k8,2804
7
+ pvxslibs/include/pvxs/log.h,sha256=2hqmFQ300vhl7mtToc4LBAVJqBgs1QMYz92pmLv1ab4,4959
8
+ pvxslibs/include/pvxs/netcommon.h,sha256=om2fgidy5rOuxPWr98BKqbej22I9IfBnDtMlg8vOFok,1786
9
+ pvxslibs/include/pvxs/nt.h,sha256=ouxryPdYVsuZ1pIbUaKi2VCSK7ZhxkOOvHdVsgzt7wY,3693
10
+ pvxslibs/include/pvxs/server.h,sha256=RhdfJRZepFO7kwIzAWdTmJITtg3WCBnKumk5BhkL91o,7838
11
+ pvxslibs/include/pvxs/sharedArray.h,sha256=iRxhRgYbcMg6WWB15KbwML6THyFLqZ0QEvMHLj_wxc0,23748
12
+ pvxslibs/include/pvxs/sharedpv.h,sha256=VPrngwKEOjtGW708clV6rDtn8CarBMSkSM-S6SEmxDM,4143
13
+ pvxslibs/include/pvxs/source.h,sha256=oOtCFc8c3ZihKPog1KEml7czpdjtpKQiaTJf4b9Aq0Q,10241
14
+ pvxslibs/include/pvxs/srvcommon.h,sha256=jF_3tG6VzF0UheypRTO1SJO0RXabmdcbPV5FbgRWS8k,4110
15
+ pvxslibs/include/pvxs/unittest.h,sha256=Vmigu2i_GwsCC9kqoaimk5zAf3tyWUsg8FE5v6elDRk,10192
16
+ pvxslibs/include/pvxs/util.h,sha256=5L1pkyt8_XzLox9yp7vedvIDEzOd6stu3kAN1gBOJnE,8562
17
+ pvxslibs/include/pvxs/version.h,sha256=vJiv3HIHEag2bkTHm-XOThc_KqWV0xWQpWOzFnAbD1g,2721
18
+ pvxslibs/include/pvxs/versionNum.h,sha256=Hyz-13kzJBQNLcnkqY2gLoXq665niO8yJdMmOB4Qn3c,176
19
+ pvxslibs/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ pvxslibs/lib/event_core_dsoinfo.py,sha256=ODB3bm08Mq3SrxP8VInAOHWaowhpz0lfoJZNNo1_dtw,347
21
+ pvxslibs/lib/event_pthread_dsoinfo.py,sha256=dgNHgYcTQgKyTvMR09zYPK3XkS4Id29u3kYC919dIUk,356
22
+ pvxslibs/lib/libevent_core.so,sha256=F8Na2mFSOQPC7A-kSz-lI8Q08c7IoNqyjGOve8CNnis,979412
23
+ pvxslibs/lib/libevent_core.so.2.2.0,sha256=F8Na2mFSOQPC7A-kSz-lI8Q08c7IoNqyjGOve8CNnis,979412
24
+ pvxslibs/lib/libevent_pthread.so,sha256=af8xqMOIk0rJbmifP-a6fBOrqsnJqbNpRaY3qbH_0os,24252
25
+ pvxslibs/lib/libevent_pthread.so.2.2.0,sha256=af8xqMOIk0rJbmifP-a6fBOrqsnJqbNpRaY3qbH_0os,24252
26
+ pvxslibs/lib/libpvxs.so,sha256=49IH22vWKVRY1AdHxlyJC5Nll1ddOmj1Z2IJcsxf-rY,1753445
27
+ pvxslibs/lib/libpvxs.so.1.2,sha256=49IH22vWKVRY1AdHxlyJC5Nll1ddOmj1Z2IJcsxf-rY,1753445
28
+ pvxslibs/lib/libpvxsIoc.so,sha256=W2zYvHoXP6fYl99zXWhngysbKwVFEdZ6l_gQy7xdbSU,407749
29
+ pvxslibs/lib/libpvxsIoc.so.1.2,sha256=W2zYvHoXP6fYl99zXWhngysbKwVFEdZ6l_gQy7xdbSU,407749
30
+ pvxslibs/lib/pvxsIoc_dsoinfo.py,sha256=6u2ah5JWP8WAL_rS80sRU6MMzIUGZMlWRKlBa-Tj0LE,465
31
+ pvxslibs/lib/pvxs_dsoinfo.py,sha256=IsPWloTmzQ7jo22BhEfZd4R9snpNNOtpQ1gScn9N4OE,407
32
+ pvxslibs/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ pvxslibs/test/test_load.py,sha256=mueD9wz4IBkCRS0TY76spkOS_nw4IBdkofl_fA9hIfg,995
34
+ pvxslibs-1.2.0a1.dist-info/LICENSE,sha256=XViOs7FX1SESr-qTXIin_5793B4tlaQsJdO5atkFUAg,1499
35
+ pvxslibs-1.2.0a1.dist-info/METADATA,sha256=NPajdl3hB1GYhsvQvyShP2c2YNkNXt4rdX6LrCB-14E,1225
36
+ pvxslibs-1.2.0a1.dist-info/WHEEL,sha256=IODkjaibdQL4Y0ih2utemBolHCvYTfxEeli_9oQOqGs,109
37
+ pvxslibs-1.2.0a1.dist-info/top_level.txt,sha256=RixlMjBFoSBZhAgzdvurnG0N681VoNV0ikf00-HgXFM,9
38
+ pvxslibs-1.2.0a1.dist-info/RECORD,,
Binary file
@@ -1,34 +0,0 @@
1
- pvxslibs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- pvxslibs/path.py,sha256=FbVt5FQgbSMpS4yGGXnXZJ6NI775LbElaJQ95Wn5TIA,199
3
- pvxslibs/version.py,sha256=vmbnHFP7nheGuX7r7LAKgJ4c2joFyUd4BPqeM4bpUfQ,984
4
- pvxslibs/include/pvxs/client.h,sha256=et_np6DmBqutuFJ2xf8eeuLerCXjCyeih_A6Qns2i4Q,36668
5
- pvxslibs/include/pvxs/data.h,sha256=19NwOI51ZHhDpjYRp0ClO9UJd8BJlP9cd7In7fLoXMs,28570
6
- pvxslibs/include/pvxs/log.h,sha256=2hqmFQ300vhl7mtToc4LBAVJqBgs1QMYz92pmLv1ab4,4959
7
- pvxslibs/include/pvxs/netcommon.h,sha256=om2fgidy5rOuxPWr98BKqbej22I9IfBnDtMlg8vOFok,1786
8
- pvxslibs/include/pvxs/nt.h,sha256=oP-6FIvWvfPt28kggStuNxk0KNPUVDXOtnG9WGLStWM,3479
9
- pvxslibs/include/pvxs/server.h,sha256=LnDoZBMnP1DE50IYcjnY2B92-ffs0GyuwEPafei6gLU,7689
10
- pvxslibs/include/pvxs/sharedArray.h,sha256=iRxhRgYbcMg6WWB15KbwML6THyFLqZ0QEvMHLj_wxc0,23748
11
- pvxslibs/include/pvxs/sharedpv.h,sha256=VPrngwKEOjtGW708clV6rDtn8CarBMSkSM-S6SEmxDM,4143
12
- pvxslibs/include/pvxs/source.h,sha256=VLKeO-7W4_P5hPjTFkQBIv70mPyL5HXTBybRvhCzUwI,10139
13
- pvxslibs/include/pvxs/srvcommon.h,sha256=jF_3tG6VzF0UheypRTO1SJO0RXabmdcbPV5FbgRWS8k,4110
14
- pvxslibs/include/pvxs/unittest.h,sha256=BGWRMNhUU--6jTXfSjaFnQhvsCHRLQCs75fh8iQvDLE,10047
15
- pvxslibs/include/pvxs/util.h,sha256=5L1pkyt8_XzLox9yp7vedvIDEzOd6stu3kAN1gBOJnE,8562
16
- pvxslibs/include/pvxs/version.h,sha256=vJiv3HIHEag2bkTHm-XOThc_KqWV0xWQpWOzFnAbD1g,2721
17
- pvxslibs/include/pvxs/versionNum.h,sha256=WTwYJf8Nv0navc2ds3XJGQeP9ACqZDGgT5AWijzS2HU,176
18
- pvxslibs/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- pvxslibs/lib/event_core_dsoinfo.py,sha256=ODB3bm08Mq3SrxP8VInAOHWaowhpz0lfoJZNNo1_dtw,347
20
- pvxslibs/lib/event_pthread_dsoinfo.py,sha256=dgNHgYcTQgKyTvMR09zYPK3XkS4Id29u3kYC919dIUk,356
21
- pvxslibs/lib/libevent_core.so,sha256=OvqgANyMgoZJpk6vTg_vuZgK_DQIOUh9AFqlh6IapP8,962721
22
- pvxslibs/lib/libevent_core.so.2.2.0,sha256=OvqgANyMgoZJpk6vTg_vuZgK_DQIOUh9AFqlh6IapP8,962721
23
- pvxslibs/lib/libevent_pthread.so,sha256=Azds_fgXbDOU9Ec0Tf35dlPe8ISl9gqcRJlD4tcLlwY,23707
24
- pvxslibs/lib/libevent_pthread.so.2.2.0,sha256=Azds_fgXbDOU9Ec0Tf35dlPe8ISl9gqcRJlD4tcLlwY,23707
25
- pvxslibs/lib/libpvxs.so,sha256=oBFPymlKkCHBvIMZ3GxpRBxQhHa-ynoNO01mXAKytwA,1758702
26
- pvxslibs/lib/libpvxs.so.1.1,sha256=oBFPymlKkCHBvIMZ3GxpRBxQhHa-ynoNO01mXAKytwA,1758702
27
- pvxslibs/lib/pvxs_dsoinfo.py,sha256=ueLOB8xtQcG40OqlRIhER0HKIMhBQ6l0XTYiX0C84tg,407
28
- pvxslibs/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- pvxslibs/test/test_load.py,sha256=lxaKPHB3mmziSZy8Odf5_VOgY4_IiUiFXtGr5pRMnMM,775
30
- pvxslibs-1.1.4a1.dist-info/LICENSE,sha256=XViOs7FX1SESr-qTXIin_5793B4tlaQsJdO5atkFUAg,1499
31
- pvxslibs-1.1.4a1.dist-info/METADATA,sha256=movAB5T8KhC76ZqDolAJqUUpKyiHN6z4e4b0KwHjYfU,1225
32
- pvxslibs-1.1.4a1.dist-info/WHEEL,sha256=IODkjaibdQL4Y0ih2utemBolHCvYTfxEeli_9oQOqGs,109
33
- pvxslibs-1.1.4a1.dist-info/top_level.txt,sha256=RixlMjBFoSBZhAgzdvurnG0N681VoNV0ikf00-HgXFM,9
34
- pvxslibs-1.1.4a1.dist-info/RECORD,,