pvxslibs 1.3.1__tar.gz → 1.3.2a1__tar.gz
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.
- {pvxslibs-1.3.1/python/pvxslibs.egg-info → pvxslibs-1.3.2a1}/PKG-INFO +4 -4
- pvxslibs-1.3.2a1/README.md +6 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/configure/CONFIG_PVXS_VERSION +3 -2
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iocsource.cpp +1 -10
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/securityclient.cpp +1 -1
- pvxslibs-1.3.2a1/ioc/securitylogger.h +73 -0
- pvxslibs-1.3.2a1/pyproject.toml +2 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1/python/pvxslibs.egg-info}/PKG-INFO +4 -4
- pvxslibs-1.3.2a1/python/pvxslibs.egg-info/requires.txt +2 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/setup.py +2 -2
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/client.cpp +1 -1
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientconn.cpp +17 -13
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/config.cpp +4 -4
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/conn.cpp +10 -8
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/conn.h +1 -1
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/data.cpp +2 -8
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/dataimpl.h +1 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/version.h +2 -2
- pvxslibs-1.3.1/README.md +0 -6
- pvxslibs-1.3.1/ioc/securitylogger.h +0 -45
- pvxslibs-1.3.1/pyproject.toml +0 -2
- pvxslibs-1.3.1/python/pvxslibs.egg-info/requires.txt +0 -2
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/COPYRIGHT +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/LICENSE +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/MANIFEST.in +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/LICENSE +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/arc4random.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/buffer.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/buffer_iocp.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_async.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_filter.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_mbedtls.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_openssl.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_pair.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_ratelim.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_sock.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/bufferevent_ssl.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/changelist-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/cmake/VersionViaGit.cmake +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/compat/sys/queue.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/defer-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/devpoll.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/epoll.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/epoll_sub.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/epolltable-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evbuffer-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evconfig-private.h.cmake +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evdns.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/event-config.h.cmake +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/event-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/event.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/event_iocp.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/event_tagging.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evmap-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evmap.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evport.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evrpc-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evrpc.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evsignal-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evthread-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evthread.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evthread_pthread.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evthread_win32.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evutil.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evutil_rand.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/evutil_time.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/ht-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/http-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/http.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/evdns.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/buffer.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/buffer_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/bufferevent.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/bufferevent_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/bufferevent_ssl.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/bufferevent_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/dns.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/dns_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/dns_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/event.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/event_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/event_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/http.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/http_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/http_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/keyvalq_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/listener.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/rpc.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/rpc_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/rpc_struct.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/tag.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/tag_compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/thread.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/util.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/visibility.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/watch.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/event2/ws.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/evhttp.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/evrpc.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/include/evutil.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/iocp-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/ipv6-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/kqueue-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/kqueue.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/listener.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/log-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/log.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/mbedtls-compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/minheap-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/mm-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/openssl-compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/poll.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/ratelim-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/select.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/sha1.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/sha1.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/signal.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/signalfd.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/ssl-compat.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/strlcpy-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/strlcpy.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/time-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/util-internal.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/watch.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/wepoll.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/wepoll.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/win32select.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/bundle/libevent/ws.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/channel.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/channel.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/credentials.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/credentials.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dbentry.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dberrormessage.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dberrormessage.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dbeventcontextdeleter.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dblocker.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dbmanylocker.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/demo.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dummygroup.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/dummysingle.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/field.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/field.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldconfig.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fielddefinition.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fielddefinition.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldname.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldname.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldnamecomponent.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldsubscriptionctx.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/fieldsubscriptionctx.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/group.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/group.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupconfig.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupconfigprocessor.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupconfigprocessor.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupdefinition.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupprocessorcontext.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupprocessorcontext.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupsource.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupsource.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupsourcehooks.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/groupsrcsubscriptionctx.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/imagedemo.c +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iochooks.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iocshargument.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iocshcommand.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iocshindex.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/iocsource.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/localfieldlog.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/localfieldlog.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink_channel.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink_jlif.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink_link.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvalink_lset.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvxs/iochooks.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvxs3x.dbd +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/pvxs7x.dbd +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/qsrvpvt.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/securityclient.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/singlesource.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/singlesource.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/singlesourcehooks.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/singlesrcsubscriptionctx.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/singlesrcsubscriptionctx.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/subscriptionctx.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/typeutils.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/typeutils.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/ioc/yajlcallbackhandler.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/__init__.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/lib/__init__.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/path.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/test/__init__.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/test/test_load.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs/version.py +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs.egg-info/SOURCES.txt +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs.egg-info/dependency_links.txt +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs.egg-info/not-zip-safe +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/python/pvxslibs.egg-info/top_level.txt +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/setup.cfg +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/bitmask.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/bitmask.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientdiscover.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientget.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientimpl.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientintrospect.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientmon.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/clientreq.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/dataencode.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/datafmt.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/describe.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/describe.h@ +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/evhelper.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/evhelper.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/log.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/nt.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/os/WIN32/osdSockExt.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/os/default/osdSockExt.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/osgroups.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/osiSockExt.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvaproto.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvrequest.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvrequest.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/client.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/data.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/log.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/netcommon.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/nt.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/server.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/sharedArray.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/sharedpv.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/source.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/srvcommon.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/unittest.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/util.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/pvxs/versionNum.h@ +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/server.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serverchan.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serverconn.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serverconn.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serverget.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serverintrospect.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/servermon.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/serversource.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/sharedarray.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/sharedpv.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/type.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/udp_collector.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/udp_collector.h +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/unittest.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/util.cpp +0 -0
- {pvxslibs-1.3.1 → pvxslibs-1.3.2a1}/src/utilpvt.h +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pvxslibs
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.2a1
|
|
4
4
|
Summary: PVXS libraries packaged for python
|
|
5
|
-
Home-page: https://
|
|
5
|
+
Home-page: https://epics-base.github.io/pvxs
|
|
6
6
|
Author: Michael Davidsaver
|
|
7
7
|
Author-email: mdavidsaver@gmail.com
|
|
8
8
|
License: BSD
|
|
@@ -27,8 +27,8 @@ License-File: LICENSE
|
|
|
27
27
|
PVXS - PVAccess protocol library
|
|
28
28
|
================================
|
|
29
29
|
|
|
30
|
-
VCS - https://github.com/
|
|
30
|
+
VCS - https://github.com/epics-base/pvxs
|
|
31
31
|
|
|
32
|
-
Documentation - https://
|
|
32
|
+
Documentation - https://epics-base.github.io/pvxs/
|
|
33
33
|
|
|
34
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
PVXS_MAJOR_VERSION = 1
|
|
2
2
|
PVXS_MINOR_VERSION = 3
|
|
3
|
-
PVXS_MAINTENANCE_VERSION =
|
|
3
|
+
PVXS_MAINTENANCE_VERSION = 2
|
|
4
4
|
|
|
5
5
|
# Version range conditions in Makefiles
|
|
6
6
|
#
|
|
@@ -12,7 +12,8 @@ PVXS_MAINTENANCE_VERSION = 1
|
|
|
12
12
|
#
|
|
13
13
|
# ifneq ($(PVXS_X_Y_Z),YES) # PVXS != X.Y.Z
|
|
14
14
|
#
|
|
15
|
-
|
|
15
|
+
PVXS_1_3_2 = YES
|
|
16
|
+
PVXS_1_3_1 = NO
|
|
16
17
|
PVXS_1_3_0 = NO
|
|
17
18
|
PVXS_1_2_4 = NO
|
|
18
19
|
PVXS_1_2_3 = NO
|
|
@@ -368,16 +368,7 @@ IOCSource::doPreProcessing(dbChannel* pDbChannel, SecurityLogger& securityLogger
|
|
|
368
368
|
throw std::runtime_error("Unable to put value: Field Disabled: S_db_putDisabled");
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
SecurityLogger asWritePvt(
|
|
372
|
-
asTrapWriteWithData((securityClient.cli)[0], // The user is the first element
|
|
373
|
-
credentials.cred[0].c_str(), // The user is the first element
|
|
374
|
-
credentials.host.c_str(),
|
|
375
|
-
pDbChannel,
|
|
376
|
-
dbChannelFinalFieldType(pDbChannel),
|
|
377
|
-
dbChannelFinalElements(pDbChannel),
|
|
378
|
-
nullptr
|
|
379
|
-
)
|
|
380
|
-
);
|
|
371
|
+
SecurityLogger asWritePvt(pDbChannel, credentials, securityClient);
|
|
381
372
|
|
|
382
373
|
securityLogger.swap(asWritePvt);
|
|
383
374
|
|
|
@@ -40,7 +40,7 @@ SecurityClient::~SecurityClient() {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
bool SecurityClient::canWrite() const {
|
|
43
|
-
return std::
|
|
43
|
+
return std::any_of(cli.begin(), cli.end(), [](ASCLIENTPVT asc) {
|
|
44
44
|
return asCheckPut(asc);
|
|
45
45
|
});
|
|
46
46
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
* Author George S. McIntyre <george@level-n.com>, 2023
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef PVXS_SECURITYLOGGER_H
|
|
11
|
+
#define PVXS_SECURITYLOGGER_H
|
|
12
|
+
|
|
13
|
+
#include <algorithm>
|
|
14
|
+
#include <asLib.h>
|
|
15
|
+
#include <dbChannel.h>
|
|
16
|
+
|
|
17
|
+
#include "credentials.h"
|
|
18
|
+
#include "securityclient.h"
|
|
19
|
+
|
|
20
|
+
namespace pvxs {
|
|
21
|
+
namespace ioc {
|
|
22
|
+
|
|
23
|
+
class SecurityLogger {
|
|
24
|
+
void* pfieldsave = nullptr;
|
|
25
|
+
dbChannel *pchan = nullptr;
|
|
26
|
+
void* pvt;
|
|
27
|
+
public:
|
|
28
|
+
~SecurityLogger() {
|
|
29
|
+
asTrapWriteAfterWrite(pvt);
|
|
30
|
+
// asTrapWrite callbacks may have clobbered pfield
|
|
31
|
+
if(pchan)
|
|
32
|
+
pchan->addr.pfield = pfieldsave;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
void swap(SecurityLogger& o) {
|
|
36
|
+
std::swap(pfieldsave, o.pfieldsave);
|
|
37
|
+
std::swap(pchan, o.pchan);
|
|
38
|
+
std::swap(pvt, o.pvt);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
SecurityLogger()
|
|
42
|
+
:pvt(nullptr) {
|
|
43
|
+
}
|
|
44
|
+
SecurityLogger(dbChannel* pDbChannel,
|
|
45
|
+
const Credentials& credentials,
|
|
46
|
+
const SecurityClient& securityClient)
|
|
47
|
+
:pfieldsave(pDbChannel->addr.pfield)
|
|
48
|
+
,pvt(asTrapWriteWithData((securityClient.cli)[0], // The user is the first element
|
|
49
|
+
credentials.cred[0].c_str(), // The user is the first element
|
|
50
|
+
credentials.host.c_str(),
|
|
51
|
+
pDbChannel,
|
|
52
|
+
dbChannelFinalFieldType(pDbChannel),
|
|
53
|
+
dbChannelFinalElements(pDbChannel),
|
|
54
|
+
nullptr
|
|
55
|
+
))
|
|
56
|
+
{
|
|
57
|
+
/* asTrapWrite callbacks may have called clobbered
|
|
58
|
+
* see
|
|
59
|
+
* https://github.com/epics-modules/caPutLog/pull/23
|
|
60
|
+
* https://github.com/epics-base/epics-base/issues/474
|
|
61
|
+
*/
|
|
62
|
+
if(pchan)
|
|
63
|
+
pchan->addr.pfield = pfieldsave;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
SecurityLogger(const SecurityLogger&) = delete;
|
|
67
|
+
SecurityLogger& operator=(const SecurityLogger&) = delete;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
} // pvxs
|
|
71
|
+
} // ioc
|
|
72
|
+
|
|
73
|
+
#endif //PVXS_SECURITYLOGGER_H
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pvxslibs
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.2a1
|
|
4
4
|
Summary: PVXS libraries packaged for python
|
|
5
|
-
Home-page: https://
|
|
5
|
+
Home-page: https://epics-base.github.io/pvxs
|
|
6
6
|
Author: Michael Davidsaver
|
|
7
7
|
Author-email: mdavidsaver@gmail.com
|
|
8
8
|
License: BSD
|
|
@@ -27,8 +27,8 @@ License-File: LICENSE
|
|
|
27
27
|
PVXS - PVAccess protocol library
|
|
28
28
|
================================
|
|
29
29
|
|
|
30
|
-
VCS - https://github.com/
|
|
30
|
+
VCS - https://github.com/epics-base/pvxs
|
|
31
31
|
|
|
32
|
-
Documentation - https://
|
|
32
|
+
Documentation - https://epics-base.github.io/pvxs/
|
|
33
33
|
|
|
34
34
|
|
|
@@ -696,7 +696,7 @@ build_dso.sub_commands.extend([
|
|
|
696
696
|
|
|
697
697
|
|
|
698
698
|
pvxs_ver = '%(PVXS_MAJOR_VERSION)s.%(PVXS_MINOR_VERSION)s.%(PVXS_MAINTENANCE_VERSION)s'%pvxsversion
|
|
699
|
-
|
|
699
|
+
pvxs_ver += 'a1'
|
|
700
700
|
|
|
701
701
|
with open(os.path.join(os.path.dirname(__file__), 'README.md')) as F:
|
|
702
702
|
long_description = F.read()
|
|
@@ -707,7 +707,7 @@ setup(
|
|
|
707
707
|
description="PVXS libraries packaged for python",
|
|
708
708
|
long_description=long_description,
|
|
709
709
|
long_description_content_type='text/markdown',
|
|
710
|
-
url='https://
|
|
710
|
+
url='https://epics-base.github.io/pvxs',
|
|
711
711
|
author='Michael Davidsaver',
|
|
712
712
|
author_email='mdavidsaver@gmail.com',
|
|
713
713
|
license='BSD',
|
|
@@ -62,25 +62,19 @@ void Connection::startConnecting()
|
|
|
62
62
|
{
|
|
63
63
|
assert(!this->bev);
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
decltype(this->bev) bev(__FILE__, __LINE__,
|
|
66
|
+
bufferevent_socket_new(context->tcp_loop.base, -1,
|
|
67
|
+
BEV_OPT_CLOSE_ON_FREE|BEV_OPT_DEFER_CALLBACKS));
|
|
66
68
|
|
|
67
|
-
bufferevent_setcb(bev, &bevReadS, nullptr, &bevEventS, this);
|
|
69
|
+
bufferevent_setcb(bev.get(), &bevReadS, nullptr, &bevEventS, this);
|
|
68
70
|
|
|
69
71
|
timeval tmo(totv(context->effective.tcpTimeout));
|
|
70
|
-
bufferevent_set_timeouts(bev, &tmo, &tmo);
|
|
72
|
+
bufferevent_set_timeouts(bev.get(), &tmo, &tmo);
|
|
71
73
|
|
|
72
|
-
if(bufferevent_socket_connect(bev, const_cast<sockaddr*>(&peerAddr->sa), peerAddr.size()))
|
|
74
|
+
if(bufferevent_socket_connect(bev.get(), const_cast<sockaddr*>(&peerAddr->sa), peerAddr.size()))
|
|
73
75
|
throw std::runtime_error("Unable to begin connecting");
|
|
74
|
-
{
|
|
75
|
-
auto fd(bufferevent_getfd(bev));
|
|
76
|
-
int opt = 1;
|
|
77
|
-
if(setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&opt, sizeof(opt))<0) {
|
|
78
|
-
auto err(SOCKERRNO);
|
|
79
|
-
log_warn_printf(io, "Unable to TCP_NODELAY: %d on %d\n", err, fd);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
76
|
|
|
83
|
-
connect(bev);
|
|
77
|
+
connect(std::move(bev));
|
|
84
78
|
|
|
85
79
|
log_debug_printf(io, "Connecting to %s, RX readahead %zu\n", peerName.c_str(), readahead);
|
|
86
80
|
}
|
|
@@ -142,6 +136,16 @@ void Connection::bevEvent(short events)
|
|
|
142
136
|
if(bev && (events&BEV_EVENT_CONNECTED)) {
|
|
143
137
|
log_debug_printf(io, "Connected to %s\n", peerName.c_str());
|
|
144
138
|
|
|
139
|
+
{
|
|
140
|
+
// after async connect() to avoid winsock specific race.
|
|
141
|
+
auto fd(bufferevent_getfd(bev.get()));
|
|
142
|
+
int opt = 1;
|
|
143
|
+
if(setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&opt, sizeof(opt))<0) {
|
|
144
|
+
auto err(SOCKERRNO);
|
|
145
|
+
log_warn_printf(io, "Unable to TCP_NODELAY: %d on %d\n", err, fd);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
145
149
|
if(bufferevent_enable(bev.get(), EV_READ|EV_WRITE))
|
|
146
150
|
throw std::logic_error("Unable to enable BEV");
|
|
147
151
|
|
|
@@ -141,10 +141,10 @@ bool operator==(const SockEndpoint& lhs, const SockEndpoint& rhs)
|
|
|
141
141
|
|
|
142
142
|
namespace {
|
|
143
143
|
|
|
144
|
-
/* Historically
|
|
145
|
-
* between sending CMD_ECHO.
|
|
146
|
-
*
|
|
147
|
-
*
|
|
144
|
+
/* Historically pvAccessJava used $EPICS_PVA_CONN_TMO as the period
|
|
145
|
+
* between sending CMD_ECHO. To avoid meta-stability apply a scaling
|
|
146
|
+
* factor.
|
|
147
|
+
* https://github.com/epics-base/pvAccessCPP/issues/171
|
|
148
148
|
*/
|
|
149
149
|
constexpr double tmoScale = 4.0/3.0; // 40 second idle timeout / 30 configured
|
|
150
150
|
|
|
@@ -39,8 +39,10 @@ ConnBase::ConnBase(bool isClient, bool sendBE, bufferevent* bev, const SockAddr&
|
|
|
39
39
|
,txBody(__FILE__, __LINE__, evbuffer_new())
|
|
40
40
|
,state(Holdoff)
|
|
41
41
|
{
|
|
42
|
-
if(bev) // true for server connection. client will call connect() shortly
|
|
43
|
-
|
|
42
|
+
if(bev) { // true for server connection. client will call connect() shortly
|
|
43
|
+
decltype(this->bev) temp(__FILE__, __LINE__, bev);
|
|
44
|
+
connect(std::move(temp));
|
|
45
|
+
}
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
ConnBase::~ConnBase() {}
|
|
@@ -50,30 +52,30 @@ const char* ConnBase::peerLabel() const
|
|
|
50
52
|
return isClient ? "Server" : "Client";
|
|
51
53
|
}
|
|
52
54
|
|
|
53
|
-
void ConnBase::connect(bufferevent
|
|
55
|
+
void ConnBase::connect(ev_owned_ptr<bufferevent> &&bev)
|
|
54
56
|
{
|
|
55
57
|
if(!bev)
|
|
56
58
|
throw BAD_ALLOC();
|
|
57
59
|
assert(!this->bev && state==Holdoff);
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
readahead = evsocket::get_buffer_size(bufferevent_getfd(bev), false);
|
|
61
|
+
readahead = evsocket::get_buffer_size(bufferevent_getfd(bev.get()), false);
|
|
62
62
|
|
|
63
63
|
#if LIBEVENT_VERSION_NUMBER >= 0x02010000
|
|
64
64
|
// allow to drain OS socket buffer in a single read
|
|
65
|
-
(void)bufferevent_set_max_single_read(bev, readahead);
|
|
65
|
+
(void)bufferevent_set_max_single_read(bev.get(), readahead);
|
|
66
66
|
#endif
|
|
67
67
|
|
|
68
68
|
readahead *= tcp_readahead_mult;
|
|
69
69
|
|
|
70
70
|
#if LIBEVENT_VERSION_NUMBER >= 0x02010000
|
|
71
71
|
// allow attempt to write as much as is available
|
|
72
|
-
(void)bufferevent_set_max_single_write(bev, EV_SSIZE_MAX);
|
|
72
|
+
(void)bufferevent_set_max_single_write(bev.get(), EV_SSIZE_MAX);
|
|
73
73
|
#endif
|
|
74
74
|
|
|
75
75
|
state = isClient ? Connecting : Connected;
|
|
76
76
|
|
|
77
|
+
this->bev = std::move(bev);
|
|
78
|
+
|
|
77
79
|
// initially wait for at least a header
|
|
78
80
|
bufferevent_setwatermark(this->bev.get(), EV_READ, 8, readahead);
|
|
79
81
|
}
|
|
@@ -1231,13 +1231,7 @@ void cache_sync(Value& cache, Value& dlt)
|
|
|
1231
1231
|
dst->as<shared_array<const void>>() = src->as<shared_array<const void>>();
|
|
1232
1232
|
break;
|
|
1233
1233
|
case StoreType::Compound:
|
|
1234
|
-
|
|
1235
|
-
std::shared_ptr<impl::FieldStorage> sstore(Value::Helper::store(dlt),
|
|
1236
|
-
src);
|
|
1237
|
-
auto& dfld(dst->as<Value>());
|
|
1238
|
-
Value::Helper::set_desc(dfld, &desc[i]);
|
|
1239
|
-
Value::Helper::store(dfld) = std::move(sstore);
|
|
1240
|
-
}
|
|
1234
|
+
dst->as<Value>() = src->as<Value>().clone();
|
|
1241
1235
|
break;
|
|
1242
1236
|
}
|
|
1243
1237
|
}
|
|
@@ -1264,7 +1258,7 @@ void FieldStorage::init(StoreType code)
|
|
|
1264
1258
|
new(&store) std::string();
|
|
1265
1259
|
return;
|
|
1266
1260
|
case StoreType::Compound:
|
|
1267
|
-
new(&store)
|
|
1261
|
+
new(&store) Value();
|
|
1268
1262
|
return;
|
|
1269
1263
|
case StoreType::Array:
|
|
1270
1264
|
new(&store) shared_array<void>();
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
# define GCC_VERSION VERSION_INT(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__, 0)
|
|
54
54
|
#endif
|
|
55
55
|
|
|
56
|
-
// See https://
|
|
56
|
+
// See https://epics-base.github.io/pvxs/details.html#expertapi
|
|
57
57
|
#if defined(PVXS_EXPERT_API_ENABLED)
|
|
58
|
-
# error Define PVXS_ENABLE_EXPERT_API to enable usage of Expert API. See https://
|
|
58
|
+
# error Define PVXS_ENABLE_EXPERT_API to enable usage of Expert API. See https://epics-base.github.io/pvxs/details.html#expert-apis
|
|
59
59
|
#elif defined(PVXS_ENABLE_EXPERT_API)
|
|
60
60
|
# define PVXS_EXPERT_API_ENABLED
|
|
61
61
|
#endif
|
pvxslibs-1.3.1/README.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
* Author George S. McIntyre <george@level-n.com>, 2023
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
#ifndef PVXS_SECURITYLOGGER_H
|
|
11
|
-
#define PVXS_SECURITYLOGGER_H
|
|
12
|
-
|
|
13
|
-
#include <algorithm>
|
|
14
|
-
#include <asLib.h>
|
|
15
|
-
|
|
16
|
-
namespace pvxs {
|
|
17
|
-
namespace ioc {
|
|
18
|
-
|
|
19
|
-
class SecurityLogger {
|
|
20
|
-
void* pvt;
|
|
21
|
-
public:
|
|
22
|
-
~SecurityLogger() {
|
|
23
|
-
asTrapWriteAfterWrite(pvt);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
void swap(SecurityLogger& o) {
|
|
27
|
-
std::swap(pvt, o.pvt);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
explicit SecurityLogger(void* pvt)
|
|
31
|
-
:pvt(pvt) {
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
SecurityLogger()
|
|
35
|
-
:pvt(nullptr) {
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
SecurityLogger(const SecurityLogger&) = delete;
|
|
39
|
-
SecurityLogger& operator=(const SecurityLogger&) = delete;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
} // pvxs
|
|
43
|
-
} // ioc
|
|
44
|
-
|
|
45
|
-
#endif //PVXS_SECURITYLOGGER_H
|
pvxslibs-1.3.1/pyproject.toml
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|