amps-python-client 5.3.4.2__zip → 5.3.4.4__zip
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.
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/LICENSE +50 -39
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/PKG-INFO +1 -1
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/file_format_versions.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
- amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/ack-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
- amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/logon.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/content-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/conflated_topics.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/searchindex.js +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/.buildinfo +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/code.html +906 -484
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/genindex.html +62 -10
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/index.html +4 -4
- amps-python-client-5.3.4.4/docs/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/py-modindex.html +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/search.html +4 -4
- amps-python-client-5.3.4.4/docs/html/searchindex.js +1 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/deltas.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/error-handling.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/exceptions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/first-program.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/high-availability.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/installing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/introduction.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/queues.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/sow.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/utilities.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/searchindex.js +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/searchindex.js +1 -1
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/delta.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/glossary.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_expressions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/publishing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/troubleshooting.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-subscribe.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
- amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/actions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/queues.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/protocol-reference.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/replication.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/logging.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/events.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
- amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/oof.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/events.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/securing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
- amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
- amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/monitoring.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/usecases.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/pub_sub.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/distribution.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/acks.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/intro.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow_queries.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/operation.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/transports.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/daemon.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/searchindex.js +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_defs.hpp +11 -1
- amps-python-client-5.3.4.4/include/ampspy_ssl.hpp +31 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspyver.h +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/setup.py +5 -5
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/setup_amps.py +12 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ampspy_shims.cpp +15 -5
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/client.cpp +24 -1
- amps-python-client-5.3.4.4/src/client_docs.h +1210 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/command_docs.h +10 -5
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockPublishStore.hpp +0 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockStore.hpp +0 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Field.hpp +6 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClient.hpp +5 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClientImpl.hpp +37 -18
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/LoggedBookmarkStore.hpp +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapStoreBuffer.hpp +24 -14
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryBookmarkStore.hpp +54 -32
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryStoreBuffer.hpp +4 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Message.hpp +10 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MessageRouter.hpp +8 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategy.hpp +2 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RingBookmarkStore.hpp +5 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +15 -6
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooser.hpp +15 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps.h +14 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_impl.h +14 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampscrc.hpp +2 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsplusplus.hpp +60 -35
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h +2 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/util.hpp +77 -10
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol.c +64 -20
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_ssl.c +207 -80
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/atfork.c +33 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/tcp.c +215 -49
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/tcps.c +357 -269
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/unix.c +93 -32
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/exponentialdelaystrategy.cpp +23 -29
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixeddelaystrategy.cpp +13 -12
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/haclient.cpp +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/haclient_docs.h +34 -20
- amps-python-client-5.3.4.4/src/hybridpublishstore.cpp +275 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorypublishstore.cpp +141 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/messagestream.cpp +8 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixbuilder.cpp +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixbuilder_docs.h +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixshredder_docs.h +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/publishstore.cpp +128 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/raw_wrapper.cpp +690 -20
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/serverchooser_docs.h +4 -4
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/html/objects.inv +0 -0
- amps-python-client-5.3.4.2/docs/html/searchindex.js +0 -1
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- amps-python-client-5.3.4.2/src/client_docs.h +0 -956
- amps-python-client-5.3.4.2/src/hybridpublishstore.cpp +0 -137
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/HISTORY +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/README.md +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/ack-messages.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/content-messages.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/intro.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/logon.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/protocol-reference.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/publishing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-delimiters.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-subscribe.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/removing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_sources/code.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/classic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/default.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/sidebar.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/connection_string.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/warning.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/deltas.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/first-program.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/installing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/introduction.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/queues.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/sow.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/advanced-topics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-compiler-list.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-feature-table.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/creating-commands.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/deltas.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/error-handling.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/exceptions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/first-program.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/high-availability.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/installing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/introduction.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/moving-from-python-lite.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/performance-tips.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/queues.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/sow.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/subscriptions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/crankitup.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/equipment.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/resources/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/resources/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/acks.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/actions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps-statistics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_expressions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_functions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/auxiliary_modules.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/conflated_topics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/constructing-fields.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/daemon.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/delta.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/distribution.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/enrichment.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/events.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/file_format_versions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/glossary.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/ha.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/installing_and_starting.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/intro.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/logging.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/messageTypes.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/monitoring.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/oof.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/operation.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/pub_sub.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/queues.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/replication.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/securing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow_queries.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/spark.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/transports.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/troubleshooting.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/txlog.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/usecases.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/views.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_bookmarkstore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_compat.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_recoverypointadapter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_shims.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_type_object.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_types.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSConsolePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSFIXBuilderPublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSFIXShredderSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXBuilderPublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXShredderSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSPublishForReplay.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSQueueConsumer.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSQueuePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsolePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeWithOOF.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSubscribeForReplay.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSUpdateForOOF.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/CompositeMessagePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/CompositeMessageSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/RandomServerChooser.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/sample.xml +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ampspy_type_object.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/authenticator.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/bookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cmessagehandler.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/command.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/compositemessagebuilder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/compositemessageparser.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/conflatingrecoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Buffer.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageParser.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/DefaultServerChooser.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HybridPublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryPublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/PublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPoint.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooserImpl.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_ssl.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsuri.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h.in +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/constants.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/client.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/makefile +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/message.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/message_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/transports.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/uri.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/failedwritehandler.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixbuilder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixshredder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixshredder_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/hybridpublishstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorybookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorybookmarkstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorypublishstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/message.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/message_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/messagestream_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/mmapbookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixshredder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/reason.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/recoverypoint.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/recoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ringbookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/serverchooser.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/sowrecoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/store.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/versioninfo.cpp +0 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2010-2024 60East Technologies Inc., All Rights Reserved.
|
|
4
|
+
//
|
|
5
|
+
// This computer software is owned by 60East Technologies Inc. and is
|
|
6
|
+
// protected by U.S. copyright laws and other laws and by international
|
|
7
|
+
// treaties. This computer software is furnished by 60East Technologies
|
|
8
|
+
// Inc. pursuant to a written license agreement and may be used, copied,
|
|
9
|
+
// transmitted, and stored only in accordance with the terms of such
|
|
10
|
+
// license agreement and with the inclusion of the above copyright notice.
|
|
11
|
+
// This computer software or any other copies thereof may not be provided
|
|
12
|
+
// or otherwise made available to any other person.
|
|
13
|
+
//
|
|
14
|
+
// U.S. Government Restricted Rights. This computer software: (a) was
|
|
15
|
+
// developed at private expense and is in all respects the proprietary
|
|
16
|
+
// information of 60East Technologies Inc.; (b) was not developed with
|
|
17
|
+
// government funds; (c) is a trade secret of 60East Technologies Inc.
|
|
18
|
+
// for all purposes of the Freedom of Information Act; and (d) is a
|
|
19
|
+
// commercial item and thus, pursuant to Section 12.212 of the Federal
|
|
20
|
+
// Acquisition Regulations (FAR) and DFAR Supplement Section 227.7202,
|
|
21
|
+
// Government's use, duplication or disclosure of the computer software
|
|
22
|
+
// is subject to the restrictions set forth by 60East Technologies Inc..
|
|
23
|
+
//
|
|
24
|
+
////////////////////////////////////////////////////////////////////////////
|
|
25
|
+
|
|
26
|
+
#define PY_SSIZE_T_CLEAN 1
|
|
27
|
+
#include <Python.h>
|
|
28
|
+
#include <amps/ampsplusplus.hpp>
|
|
29
|
+
#include <ampspy_types.hpp>
|
|
30
|
+
#include <ampspy_defs.hpp>
|
|
31
|
+
#include <amps/HybridPublishStore.hpp>
|
|
32
|
+
#include "hybridpublishstore_docs.h"
|
|
33
|
+
|
|
34
|
+
using namespace AMPS;
|
|
35
|
+
namespace ampspy
|
|
36
|
+
{
|
|
37
|
+
namespace hybridpublishstore
|
|
38
|
+
{
|
|
39
|
+
|
|
40
|
+
AMPSDLL ampspy::ampspy_type_object hybridpublishstore_type;
|
|
41
|
+
|
|
42
|
+
// def __init__(self, name):
|
|
43
|
+
static void* __ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
44
|
+
{
|
|
45
|
+
char* filename = NULL;
|
|
46
|
+
unsigned long maxMemoryCapacity = 0;
|
|
47
|
+
PyObject* value = NULL;
|
|
48
|
+
if (!PyArg_ParseTuple(args, "sk|O!", &filename, &maxMemoryCapacity, &PyBool_Type, &value))
|
|
49
|
+
{
|
|
50
|
+
return NULL;
|
|
51
|
+
}
|
|
52
|
+
assert(filename != NULL);
|
|
53
|
+
bool errorOnPublishGap = value && value == Py_True;
|
|
54
|
+
|
|
55
|
+
std::string fileName(filename);
|
|
56
|
+
try
|
|
57
|
+
{
|
|
58
|
+
UNLOCKGIL;
|
|
59
|
+
self->impl = new Store(new HybridPublishStore(fileName, (size_t)maxMemoryCapacity, errorOnPublishGap));
|
|
60
|
+
} DISPATCH_EXCEPTION;
|
|
61
|
+
self->resizeHandler = NULL;
|
|
62
|
+
return (void*)self;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static int _ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
66
|
+
{
|
|
67
|
+
if (__ctor(self, args, kwds) == NULL)
|
|
68
|
+
{
|
|
69
|
+
return -1;
|
|
70
|
+
}
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static void _dtor(obj* self)
|
|
75
|
+
{
|
|
76
|
+
{
|
|
77
|
+
UNLOCKGIL;
|
|
78
|
+
delete self->impl;
|
|
79
|
+
}
|
|
80
|
+
self->impl = 0;
|
|
81
|
+
Py_XDECREF(self->resizeHandler);
|
|
82
|
+
shims::free(self);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
static PyObject* store(obj* self, PyObject* args)
|
|
86
|
+
{
|
|
87
|
+
Store* pStore = self->impl;
|
|
88
|
+
PyObject* pPyMessage = NULL;
|
|
89
|
+
if (!PyArg_ParseTuple(args, "O", &pPyMessage))
|
|
90
|
+
{
|
|
91
|
+
return NULL;
|
|
92
|
+
}
|
|
93
|
+
Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
|
|
94
|
+
CALL_RETURN_UINT64_T(pStore->store(*pMessage));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
static PyObject* discard_up_to(obj* self, PyObject* args)
|
|
98
|
+
{
|
|
99
|
+
Store* pStore = self->impl;
|
|
100
|
+
unsigned long long seq = 0ULL;
|
|
101
|
+
if (!PyArg_ParseTuple(args, "K", &seq))
|
|
102
|
+
{
|
|
103
|
+
return NULL;
|
|
104
|
+
}
|
|
105
|
+
CALL_RETURN_NONE(pStore->discardUpTo(seq));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class PyClientStoreReplayer : public AMPS::StoreReplayer
|
|
109
|
+
{
|
|
110
|
+
PyObject* _pPyHandler;
|
|
111
|
+
ampspy::message::obj* _pMessage;
|
|
112
|
+
PyObject* _pMessageArgs;
|
|
113
|
+
public:
|
|
114
|
+
PyClientStoreReplayer(PyObject* pPyHandler)
|
|
115
|
+
: _pPyHandler(pPyHandler)
|
|
116
|
+
{
|
|
117
|
+
Py_INCREF(_pPyHandler);
|
|
118
|
+
_pMessage = (ampspy::message::obj*)_PyObject_New(
|
|
119
|
+
ampspy::message::message_type);
|
|
120
|
+
_pMessage->isOwned = false;
|
|
121
|
+
assert(_pMessage);
|
|
122
|
+
_pMessageArgs = Py_BuildValue("(O)", _pMessage);
|
|
123
|
+
assert(_pMessageArgs);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
virtual void execute(Message& message_)
|
|
127
|
+
{
|
|
128
|
+
LOCKGIL;
|
|
129
|
+
_pMessage->pMessage = (Message*)&message_;
|
|
130
|
+
PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
|
|
131
|
+
(PyObject*)NULL);
|
|
132
|
+
if (result == NULL)
|
|
133
|
+
{
|
|
134
|
+
if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
135
|
+
{
|
|
136
|
+
ampspy::unhandled_exception();
|
|
137
|
+
}
|
|
138
|
+
else
|
|
139
|
+
{
|
|
140
|
+
// translate amps py exception into amps cpp, throw
|
|
141
|
+
exc::throwError();
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else
|
|
145
|
+
{
|
|
146
|
+
Py_DECREF(result);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
virtual ~PyClientStoreReplayer()
|
|
151
|
+
{
|
|
152
|
+
Py_CLEAR(_pPyHandler);
|
|
153
|
+
Py_CLEAR(_pMessage);
|
|
154
|
+
Py_CLEAR(_pMessageArgs);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
static PyObject* replay(obj* self, PyObject* args)
|
|
159
|
+
{
|
|
160
|
+
Store* pStore = self->impl;
|
|
161
|
+
PyObject* pOnMessage = NULL;
|
|
162
|
+
if (!PyArg_ParseTuple(args, "O", &pOnMessage))
|
|
163
|
+
{
|
|
164
|
+
return NULL;
|
|
165
|
+
}
|
|
166
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
167
|
+
CALL_RETURN_NONE(pStore->replay(replayer));
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
static PyObject* replay_single(obj* self, PyObject* args)
|
|
171
|
+
{
|
|
172
|
+
Store* pStore = self->impl;
|
|
173
|
+
PyObject* pOnMessage = NULL;
|
|
174
|
+
unsigned long long seq = 0;
|
|
175
|
+
if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
|
|
176
|
+
{
|
|
177
|
+
return NULL;
|
|
178
|
+
}
|
|
179
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
180
|
+
CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
static PyObject* get_unpersisted_count(obj* self, PyObject* args)
|
|
184
|
+
{
|
|
185
|
+
CALL_RETURN_SIZE_T(self->impl->unpersistedCount());
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
|
|
189
|
+
{
|
|
190
|
+
Store* pStore = self->impl;
|
|
191
|
+
CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
static PyObject* get_last_persisted(obj* self, PyObject* args)
|
|
195
|
+
{
|
|
196
|
+
Store* pStore = self->impl;
|
|
197
|
+
CALL_RETURN_UINT64_T(pStore->getLastPersisted());
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
bool
|
|
201
|
+
call_resize_handler(StoreImpl* store, size_t size, void* vp)
|
|
202
|
+
{
|
|
203
|
+
LOCKGIL;
|
|
204
|
+
obj* s = (obj*)vp;
|
|
205
|
+
#if defined(_WIN32) && !defined(_WIN64)
|
|
206
|
+
PyObject* args = Py_BuildValue("(Oi)", s, size);
|
|
207
|
+
#else
|
|
208
|
+
PyObject* args = Py_BuildValue("(Ol)", s, size);
|
|
209
|
+
#endif
|
|
210
|
+
PyObject* pyRet = PyObject_Call(s->resizeHandler, args, (PyObject*)NULL);
|
|
211
|
+
Py_DECREF(args);
|
|
212
|
+
if (pyRet == NULL || PyErr_Occurred())
|
|
213
|
+
{
|
|
214
|
+
Py_XDECREF(pyRet);
|
|
215
|
+
if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
216
|
+
{
|
|
217
|
+
ampspy::unhandled_exception();
|
|
218
|
+
}
|
|
219
|
+
throw StoreException("The resize handler threw an exception");
|
|
220
|
+
}
|
|
221
|
+
bool ret = (PyObject_IsTrue(pyRet) != 0);
|
|
222
|
+
Py_DECREF(pyRet);
|
|
223
|
+
return ret;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
static PyObject* set_resize_handler(obj* self, PyObject* args)
|
|
227
|
+
{
|
|
228
|
+
PyObject* callable;
|
|
229
|
+
if (!PyArg_ParseTuple(args, "O", &callable))
|
|
230
|
+
{
|
|
231
|
+
return NULL;
|
|
232
|
+
}
|
|
233
|
+
if (!PyCallable_Check(callable))
|
|
234
|
+
{
|
|
235
|
+
PyErr_SetString(PyExc_TypeError, "argument must be callable.");
|
|
236
|
+
return NULL;
|
|
237
|
+
}
|
|
238
|
+
Py_INCREF(callable);
|
|
239
|
+
if (self->resizeHandler)
|
|
240
|
+
{
|
|
241
|
+
Py_DECREF(self->resizeHandler);
|
|
242
|
+
}
|
|
243
|
+
self->resizeHandler = callable;
|
|
244
|
+
CALL_RETURN_NONE(self->impl->setResizeHandler((AMPS::PublishStoreResizeHandler)call_resize_handler, self));
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
void add_types(PyObject* module_)
|
|
248
|
+
{
|
|
249
|
+
hybridpublishstore_type.setName("AMPS.HybridPublishStore")
|
|
250
|
+
.setBasicSize(sizeof(obj))
|
|
251
|
+
.setDestructorFunction(_dtor)
|
|
252
|
+
.setConstructorFunction(_ctor)
|
|
253
|
+
.setDoc(hybridpublishstore_class_doc)
|
|
254
|
+
.setBaseType()
|
|
255
|
+
.notCopyable()
|
|
256
|
+
.addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
|
|
257
|
+
":param message: The message to put into the store.\n")
|
|
258
|
+
.addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
|
|
259
|
+
":param sequence: The highest sequence number to discard.\n")
|
|
260
|
+
.addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
|
|
261
|
+
":param handler: The message handler to call with each message.\n")
|
|
262
|
+
.addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
|
|
263
|
+
":param handler: The message handler to call with each message.\n"
|
|
264
|
+
":param sequence: The sequence number of the message to replay.\n")
|
|
265
|
+
.addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
|
|
266
|
+
.addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
|
|
267
|
+
.addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
|
|
268
|
+
.addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
|
|
269
|
+
.createType()
|
|
270
|
+
.registerType("HybridPublishStore", module_);
|
|
271
|
+
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
} // namespace hybridpublishstore
|
|
275
|
+
} // namespace ampspy
|
|
@@ -36,20 +36,34 @@ namespace ampspy
|
|
|
36
36
|
namespace memorypublishstore
|
|
37
37
|
{
|
|
38
38
|
// def __init__(self, name):
|
|
39
|
-
static
|
|
39
|
+
static void* __ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
40
40
|
{
|
|
41
41
|
int numBlocks = -1;
|
|
42
42
|
PyObject* value = NULL;
|
|
43
43
|
if (!PyArg_ParseTuple(args, "|IO!", &numBlocks, &PyBool_Type, &value))
|
|
44
44
|
{
|
|
45
|
-
return
|
|
45
|
+
return NULL;
|
|
46
46
|
}
|
|
47
47
|
if (numBlocks <=0 )
|
|
48
48
|
{
|
|
49
49
|
numBlocks = 10000;
|
|
50
50
|
}
|
|
51
51
|
bool errorOnPublishGap = value && value == Py_True;
|
|
52
|
-
|
|
52
|
+
try
|
|
53
|
+
{
|
|
54
|
+
UNLOCKGIL;
|
|
55
|
+
self->impl = new Store(new MemoryPublishStore(numBlocks, errorOnPublishGap));
|
|
56
|
+
} DISPATCH_EXCEPTION;
|
|
57
|
+
self->resizeHandler = NULL;
|
|
58
|
+
return (void*)self;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static int _ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
62
|
+
{
|
|
63
|
+
if (__ctor(self, args, kwds) == NULL)
|
|
64
|
+
{
|
|
65
|
+
return -1;
|
|
66
|
+
}
|
|
53
67
|
return 0;
|
|
54
68
|
}
|
|
55
69
|
|
|
@@ -59,13 +73,125 @@ namespace ampspy
|
|
|
59
73
|
UNLOCKGIL;
|
|
60
74
|
delete self->impl;
|
|
61
75
|
}
|
|
76
|
+
self->impl = 0;
|
|
62
77
|
Py_XDECREF(self->resizeHandler);
|
|
63
78
|
shims::free(self);
|
|
64
79
|
}
|
|
65
80
|
|
|
81
|
+
static PyObject* store(obj* self, PyObject* args)
|
|
82
|
+
{
|
|
83
|
+
Store* pStore = self->impl;
|
|
84
|
+
PyObject* pPyMessage = NULL;
|
|
85
|
+
if (!PyArg_ParseTuple(args, "O", &pPyMessage))
|
|
86
|
+
{
|
|
87
|
+
return NULL;
|
|
88
|
+
}
|
|
89
|
+
Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
|
|
90
|
+
CALL_RETURN_UINT64_T(pStore->store(*pMessage));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static PyObject* discard_up_to(obj* self, PyObject* args)
|
|
94
|
+
{
|
|
95
|
+
Store* pStore = self->impl;
|
|
96
|
+
unsigned long long seq = 0ULL;
|
|
97
|
+
if (!PyArg_ParseTuple(args, "K", &seq))
|
|
98
|
+
{
|
|
99
|
+
return NULL;
|
|
100
|
+
}
|
|
101
|
+
CALL_RETURN_NONE(pStore->discardUpTo(seq));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class PyClientStoreReplayer : public AMPS::StoreReplayer
|
|
105
|
+
{
|
|
106
|
+
PyObject* _pPyHandler;
|
|
107
|
+
ampspy::message::obj* _pMessage;
|
|
108
|
+
PyObject* _pMessageArgs;
|
|
109
|
+
public:
|
|
110
|
+
PyClientStoreReplayer(PyObject* pPyHandler)
|
|
111
|
+
: _pPyHandler(pPyHandler)
|
|
112
|
+
{
|
|
113
|
+
Py_INCREF(_pPyHandler);
|
|
114
|
+
_pMessage = (ampspy::message::obj*)_PyObject_New(
|
|
115
|
+
ampspy::message::message_type);
|
|
116
|
+
_pMessage->isOwned = false;
|
|
117
|
+
assert(_pMessage);
|
|
118
|
+
_pMessageArgs = Py_BuildValue("(O)", _pMessage);
|
|
119
|
+
assert(_pMessageArgs);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
virtual void execute(Message& message_)
|
|
123
|
+
{
|
|
124
|
+
LOCKGIL;
|
|
125
|
+
_pMessage->pMessage = (Message*)&message_;
|
|
126
|
+
PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
|
|
127
|
+
(PyObject*)NULL);
|
|
128
|
+
if (result == NULL)
|
|
129
|
+
{
|
|
130
|
+
if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
131
|
+
{
|
|
132
|
+
ampspy::unhandled_exception();
|
|
133
|
+
}
|
|
134
|
+
else
|
|
135
|
+
{
|
|
136
|
+
// translate amps py exception into amps cpp, throw
|
|
137
|
+
exc::throwError();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else
|
|
141
|
+
{
|
|
142
|
+
Py_DECREF(result);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
virtual ~PyClientStoreReplayer()
|
|
147
|
+
{
|
|
148
|
+
Py_CLEAR(_pPyHandler);
|
|
149
|
+
Py_CLEAR(_pMessage);
|
|
150
|
+
Py_CLEAR(_pMessageArgs);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
static PyObject* replay(obj* self, PyObject* args)
|
|
155
|
+
{
|
|
156
|
+
Store* pStore = self->impl;
|
|
157
|
+
PyObject* pOnMessage = NULL;
|
|
158
|
+
if (!PyArg_ParseTuple(args, "O", &pOnMessage))
|
|
159
|
+
{
|
|
160
|
+
return NULL;
|
|
161
|
+
}
|
|
162
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
163
|
+
CALL_RETURN_NONE(pStore->replay(replayer));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
static PyObject* replay_single(obj* self, PyObject* args)
|
|
167
|
+
{
|
|
168
|
+
Store* pStore = self->impl;
|
|
169
|
+
PyObject* pOnMessage = NULL;
|
|
170
|
+
unsigned long long seq = 0;
|
|
171
|
+
if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
|
|
172
|
+
{
|
|
173
|
+
return NULL;
|
|
174
|
+
}
|
|
175
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
176
|
+
CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
|
|
177
|
+
}
|
|
178
|
+
|
|
66
179
|
static PyObject* get_unpersisted_count(obj* self, PyObject* args)
|
|
67
180
|
{
|
|
68
|
-
|
|
181
|
+
Store* pStore = self->impl;
|
|
182
|
+
CALL_RETURN_SIZE_T(pStore->unpersistedCount());
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
|
|
186
|
+
{
|
|
187
|
+
Store* pStore = self->impl;
|
|
188
|
+
CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
static PyObject* get_last_persisted(obj* self, PyObject* args)
|
|
192
|
+
{
|
|
193
|
+
Store* pStore = self->impl;
|
|
194
|
+
CALL_RETURN_UINT64_T(pStore->getLastPersisted());
|
|
69
195
|
}
|
|
70
196
|
|
|
71
197
|
bool
|
|
@@ -141,7 +267,18 @@ namespace ampspy
|
|
|
141
267
|
.setDoc(memorypublishstore_class_doc)
|
|
142
268
|
.setBaseType()
|
|
143
269
|
.notCopyable()
|
|
270
|
+
.addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
|
|
271
|
+
":param message: The message to put into the store.\n")
|
|
272
|
+
.addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
|
|
273
|
+
":param sequence: The highest sequence number to discard.\n")
|
|
274
|
+
.addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
|
|
275
|
+
":param handler: The message handler to call with each message.\n")
|
|
276
|
+
.addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
|
|
277
|
+
":param handler: The message handler to call with each message.\n"
|
|
278
|
+
":param sequence: The sequence number of the message to replay.\n")
|
|
144
279
|
.addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
|
|
280
|
+
.addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
|
|
281
|
+
.addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
|
|
145
282
|
.addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
|
|
146
283
|
.addMethod("get_error_on_publish_gap", get_error_on_publish_gap, "get_error_on_publish_gap()\n\nReturns If true, PublishStoreGapException can be thrown\n"
|
|
147
284
|
" by the client publish store if the client logs onto a server that\n"
|
|
@@ -96,6 +96,14 @@ namespace ampspy
|
|
|
96
96
|
AMPS_FETCH_AND_8((&_flags), ~ms_is_active);
|
|
97
97
|
AMPS_FETCH_OR_8((&_flags), ms_is_disconnected_in_progress);
|
|
98
98
|
}
|
|
99
|
+
else if (newState_ == AMPS::ConnectionStateListener::Connected
|
|
100
|
+
&& _commandId.empty()
|
|
101
|
+
&& _subId.empty()
|
|
102
|
+
&& _queryId.empty())
|
|
103
|
+
{
|
|
104
|
+
AMPS_FETCH_OR_8((&_flags), ms_is_active);
|
|
105
|
+
AMPS_FETCH_AND_8((&_flags), ~ms_is_disconnected_in_progress);
|
|
106
|
+
}
|
|
99
107
|
}
|
|
100
108
|
|
|
101
109
|
void unsubscribe(const std::string& id_, bool active_ = false)
|
|
@@ -140,11 +140,11 @@ namespace ampspy
|
|
|
140
140
|
.setDoc(nvfixbuilder_class_doc)
|
|
141
141
|
.notCopyable()
|
|
142
142
|
.addMethod("append", append,
|
|
143
|
-
"append(tag,value,(optional)
|
|
143
|
+
"append(tag,value,offset(optional),length(optional))\n\nAppends ``tag=value`` to self.\n\n"
|
|
144
144
|
":param tag: The tag to use.\n:type tag: str\n"
|
|
145
145
|
":param value: The value for the given tag.\n:type value: str\n"
|
|
146
|
-
":param offset:
|
|
147
|
-
":param length:
|
|
146
|
+
":param offset: The offset into value at which the value actually starts. *Optional.*\n:type offset: int\n"
|
|
147
|
+
":param length: The length of the actual value within value. *Optional.* Only valid and required if offset is also provided.\n:type length: int\n")
|
|
148
148
|
.addMethod("get_string", get_string,
|
|
149
149
|
"get_string()\n\n"
|
|
150
150
|
"Called to get the string NVFIX message.\n\n"
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
//
|
|
24
24
|
////////////////////////////////////////////////////////////////////////////
|
|
25
25
|
|
|
26
|
-
static const char* nvfixbuilder_class_doc = R"docstring(
|
|
26
|
+
static const char* nvfixbuilder_class_doc = R"docstring(NVFIXBuilder(delimiter)
|
|
27
27
|
Convenience class for easily creating NVFIX strings.
|
|
28
28
|
|
|
29
|
-
Constructor
|
|
29
|
+
**Constructor Arguments:**
|
|
30
30
|
|
|
31
|
-
:param delimiter: The delimiter to use between NVFIX fields. Defaults to
|
|
31
|
+
:param delimiter: The delimiter to use between NVFIX fields. Defaults to \\x01 if no delimiter is provided.
|
|
32
32
|
)docstring";
|
|
33
33
|
|
|
34
34
|
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
//
|
|
24
24
|
////////////////////////////////////////////////////////////////////////////
|
|
25
25
|
|
|
26
|
-
static const char* nvfixshredder_class_doc = R"docstring(
|
|
26
|
+
static const char* nvfixshredder_class_doc = R"docstring(NVFIXShredder(delimiter)
|
|
27
27
|
Convenience class for easily processing NVFIX strings.
|
|
28
28
|
|
|
29
|
-
Constructor
|
|
29
|
+
**Constructor Arguments:**
|
|
30
30
|
|
|
31
|
-
:param
|
|
31
|
+
:param delimiter: The delimiter to expect between NVFIX fields. Defaults to \\x01 if no delimiter is provided.
|
|
32
32
|
)docstring";
|
|
33
33
|
|
|
34
34
|
|
|
@@ -45,12 +45,16 @@ namespace ampspy
|
|
|
45
45
|
return NULL;
|
|
46
46
|
}
|
|
47
47
|
bool errorOnPublishGap = value && value == Py_True;
|
|
48
|
+
|
|
49
|
+
std::string fileName(filename);
|
|
48
50
|
self->impl = 0;
|
|
49
51
|
try
|
|
50
52
|
{
|
|
51
|
-
|
|
53
|
+
UNLOCKGIL;
|
|
54
|
+
self->impl = new PublishStore(fileName, errorOnPublishGap);
|
|
52
55
|
self->impl->addRef();
|
|
53
56
|
} DISPATCH_EXCEPTION;
|
|
57
|
+
self->resizeHandler = NULL;
|
|
54
58
|
return (void*)filename;
|
|
55
59
|
}
|
|
56
60
|
|
|
@@ -67,6 +71,7 @@ namespace ampspy
|
|
|
67
71
|
{
|
|
68
72
|
if (self->impl)
|
|
69
73
|
{
|
|
74
|
+
UNLOCKGIL;
|
|
70
75
|
self->impl->removeRef();
|
|
71
76
|
}
|
|
72
77
|
self->impl = 0;
|
|
@@ -74,9 +79,119 @@ namespace ampspy
|
|
|
74
79
|
shims::free(self);
|
|
75
80
|
}
|
|
76
81
|
|
|
82
|
+
static PyObject* store(obj* self, PyObject* args)
|
|
83
|
+
{
|
|
84
|
+
PublishStore* pStore = self->impl;
|
|
85
|
+
PyObject* pPyMessage = NULL;
|
|
86
|
+
if (!PyArg_ParseTuple(args, "O", &pPyMessage))
|
|
87
|
+
{
|
|
88
|
+
return NULL;
|
|
89
|
+
}
|
|
90
|
+
Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
|
|
91
|
+
CALL_RETURN_UINT64_T(pStore->store(*pMessage));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static PyObject* discard_up_to(obj* self, PyObject* args)
|
|
95
|
+
{
|
|
96
|
+
PublishStore* pStore = self->impl;
|
|
97
|
+
unsigned long long seq = 0ULL;
|
|
98
|
+
if (!PyArg_ParseTuple(args, "K", &seq))
|
|
99
|
+
{
|
|
100
|
+
return NULL;
|
|
101
|
+
}
|
|
102
|
+
CALL_RETURN_NONE(pStore->discardUpTo((amps_uint64_t)seq));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
class PyClientStoreReplayer : public StoreReplayer
|
|
106
|
+
{
|
|
107
|
+
PyObject* _pPyHandler;
|
|
108
|
+
ampspy::message::obj* _pMessage;
|
|
109
|
+
PyObject* _pMessageArgs;
|
|
110
|
+
public:
|
|
111
|
+
PyClientStoreReplayer(PyObject* pPyHandler)
|
|
112
|
+
: _pPyHandler(pPyHandler)
|
|
113
|
+
{
|
|
114
|
+
Py_INCREF(_pPyHandler);
|
|
115
|
+
_pMessage = (ampspy::message::obj*)_PyObject_New(
|
|
116
|
+
ampspy::message::message_type);
|
|
117
|
+
_pMessage->isOwned = false;
|
|
118
|
+
assert(_pMessage);
|
|
119
|
+
_pMessageArgs = Py_BuildValue("(O)", _pMessage);
|
|
120
|
+
assert(_pMessageArgs);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
virtual void execute(Message& message_)
|
|
124
|
+
{
|
|
125
|
+
LOCKGIL;
|
|
126
|
+
_pMessage->pMessage = (Message*)&message_;
|
|
127
|
+
PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
|
|
128
|
+
(PyObject*)NULL);
|
|
129
|
+
if (result == NULL)
|
|
130
|
+
{
|
|
131
|
+
if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
132
|
+
{
|
|
133
|
+
ampspy::unhandled_exception();
|
|
134
|
+
}
|
|
135
|
+
else
|
|
136
|
+
{
|
|
137
|
+
// translate amps py exception into amps cpp, throw
|
|
138
|
+
exc::throwError();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else
|
|
142
|
+
{
|
|
143
|
+
Py_DECREF(result);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
virtual ~PyClientStoreReplayer()
|
|
148
|
+
{
|
|
149
|
+
Py_CLEAR(_pPyHandler);
|
|
150
|
+
Py_CLEAR(_pMessage);
|
|
151
|
+
Py_CLEAR(_pMessageArgs);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
static PyObject* replay(obj* self, PyObject* args)
|
|
156
|
+
{
|
|
157
|
+
PublishStore* pStore = self->impl;
|
|
158
|
+
PyObject* pOnMessage = NULL;
|
|
159
|
+
if (!PyArg_ParseTuple(args, "O", &pOnMessage))
|
|
160
|
+
{
|
|
161
|
+
return NULL;
|
|
162
|
+
}
|
|
163
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
164
|
+
CALL_RETURN_NONE(pStore->replay(replayer));
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
static PyObject* replay_single(obj* self, PyObject* args)
|
|
168
|
+
{
|
|
169
|
+
PublishStore* pStore = self->impl;
|
|
170
|
+
PyObject* pOnMessage = NULL;
|
|
171
|
+
unsigned long long seq = 0;
|
|
172
|
+
if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
|
|
173
|
+
{
|
|
174
|
+
return NULL;
|
|
175
|
+
}
|
|
176
|
+
PyClientStoreReplayer replayer(pOnMessage);
|
|
177
|
+
CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
|
|
178
|
+
}
|
|
179
|
+
|
|
77
180
|
static PyObject* get_unpersisted_count(obj* self, PyObject* args)
|
|
78
181
|
{
|
|
79
|
-
|
|
182
|
+
CALL_RETURN_SIZE_T(self->impl->unpersistedCount());
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
|
|
186
|
+
{
|
|
187
|
+
PublishStore* pStore = self->impl;
|
|
188
|
+
CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
static PyObject* get_last_persisted(obj* self, PyObject* args)
|
|
192
|
+
{
|
|
193
|
+
PublishStore* pStore = self->impl;
|
|
194
|
+
CALL_RETURN_UINT64_T(pStore->getLastPersisted());
|
|
80
195
|
}
|
|
81
196
|
|
|
82
197
|
static PyObject* truncate_on_close(obj* self, PyObject* args)
|
|
@@ -164,7 +279,18 @@ namespace ampspy
|
|
|
164
279
|
.setDoc("AMPS PublishStore Object\n\n"
|
|
165
280
|
" Stores published records in a file while awaiting an ACK from the server. Construct with the name of the file to use for record storage\n"
|
|
166
281
|
" and optionally, a Boolean to specify if the store should throw an exception if logging onto a server that might be missing messages not in the store.\n")
|
|
282
|
+
.addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
|
|
283
|
+
":param message: The message to put into the store.\n")
|
|
284
|
+
.addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
|
|
285
|
+
":param sequence: The highest sequence number to discard.\n")
|
|
286
|
+
.addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
|
|
287
|
+
":param handler: The message handler to call with each message.\n")
|
|
288
|
+
.addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
|
|
289
|
+
":param handler: The message handler to call with each message.\n"
|
|
290
|
+
":param sequence: The sequence number of the message to replay.\n")
|
|
167
291
|
.addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
|
|
292
|
+
.addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
|
|
293
|
+
.addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
|
|
168
294
|
.addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
|
|
169
295
|
.addMethod("truncate_on_close", truncate_on_close, "truncate_on_close()\n\nSets if the PublishStore should truncate the file to initial capacity when it closes if it is empty.\n")
|
|
170
296
|
.addMethod("get_error_on_publish_gap", get_error_on_publish_gap, "get_error_on_publish_gap()\n\nReturns If true, PublishStoreGapException can be thrown\n"
|