amps-python-client 5.3.4.2__zip → 5.3.4.3__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.3}/LICENSE +50 -39
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/PKG-INFO +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/.buildinfo +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/code.html +717 -482
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/genindex.html +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/index.html +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/py-modindex.html +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/search.html +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/searchindex.js +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspyver.h +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/index.html +1 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/setup.py +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/setup_amps.py +3 -3
- amps-python-client-5.3.4.3/src/client_docs.h +1210 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/command_docs.h +10 -5
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BlockPublishStore.hpp +0 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BlockStore.hpp +0 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Field.hpp +6 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MMapStoreBuffer.hpp +21 -14
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryStoreBuffer.hpp +4 -1
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Message.hpp +8 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ServerChooser.hpp +15 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps.h +12 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_impl.h +12 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampscrc.hpp +2 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsplusplus.hpp +13 -17
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsver.h +2 -2
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/util.hpp +4 -4
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_ssl.c +87 -11
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/atfork.c +33 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/tcp.c +210 -44
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/tcps.c +168 -48
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/unix.c +88 -27
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/exponentialdelaystrategy.cpp +23 -29
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixeddelaystrategy.cpp +13 -12
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/haclient_docs.h +34 -20
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixbuilder.cpp +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixbuilder_docs.h +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixshredder_docs.h +3 -3
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/serverchooser_docs.h +4 -4
- amps-python-client-5.3.4.2/src/client_docs.h +0 -956
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/HISTORY +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/README.md +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/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.3}/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/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.3}/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/command-reference/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/command-reference/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/ack-messages.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/content-messages.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/intro.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/logon.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/protocol-reference.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/publishing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/query-delimiters.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/query-subscribe.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/removing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/index.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/searchindex.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_sources/code.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/classic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/default.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/sidebar.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/deltas.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/error-handling.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/exceptions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/first-program.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/high-availability.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/installing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/introduction.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/queues.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/sow.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/utilities.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/connection_string.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/warning.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/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.3}/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/deltas.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/first-program.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/installing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/introduction.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/queues.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/sow.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/advanced-topics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/cpp-compiler-list.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/cpp-feature-table.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/creating-commands.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/deltas.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/error-handling.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/exceptions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/first-program.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/high-availability.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/installing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/introduction.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/moving-from-python-lite.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/performance-tips.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/queues.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/sow.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/subscriptions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/index.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/searchindex.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/python-quickstart/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/python-quickstart/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/chapters/crankitup.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/chapters/equipment.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/index.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/searchindex.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/resources/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/resources/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/events.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/environment.pickle +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/index.doctree +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/.buildinfo +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/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.3}/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.3}/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.3}/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.3}/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.3}/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.3}/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/custom.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/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.3}/docs/user-guide/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/acks.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/actions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps-statistics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps_expressions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps_functions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/auxiliary_modules.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/conflated_topics.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/constructing-fields.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/daemon.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/delta.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/distribution.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/enrichment.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/events.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/file_format_versions.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/glossary.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/ha.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/installing_and_starting.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/intro.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/logging.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/messageTypes.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/monitoring.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/oof.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/operation.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/pub_sub.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/queues.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/replication.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/securing.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/sow.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/sow_queries.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/spark.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/transports.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/troubleshooting.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/txlog.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/usecases.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/utilities.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/views.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/genindex.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/index.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/objects.inv +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/search.html +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/searchindex.js +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_bookmarkstore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_compat.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_defs.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_recoverypointadapter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_shims.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_type_object.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_types.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSConsolePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSFIXBuilderPublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSFIXShredderSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSNVFIXBuilderPublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSNVFIXShredderSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSPublishForReplay.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSQueueConsumer.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSQueuePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWConsolePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWandSubscribeWithOOF.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSubscribeForReplay.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSUpdateForOOF.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/CompositeMessagePublisher.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/CompositeMessageSubscriber.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/RandomServerChooser.py +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/sample.xml +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ampspy_shims.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ampspy_type_object.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/authenticator.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/bookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/client.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cmessagehandler.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/command.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/compositemessagebuilder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/compositemessageparser.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/conflatingrecoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Buffer.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/CompositeMessageParser.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/DefaultServerChooser.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HAClient.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HAClientImpl.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HybridPublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/LoggedBookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryBookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryPublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MessageRouter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/PublishStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ReconnectDelayStrategy.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RecoveryPoint.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RingBookmarkStore.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ServerChooserImpl.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_ssl.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsuri.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsver.h.in +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/constants.hpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/client.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/makefile +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/message.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/message_generated.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/transports.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/uri.c +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/failedwritehandler.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixbuilder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixshredder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixshredder_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/haclient.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/hybridpublishstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/hybridpublishstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorybookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorybookmarkstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorypublishstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorypublishstore_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/message.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/message_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/messagestream.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/messagestream_docs.h +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/mmapbookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixshredder.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/publishstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/raw_wrapper.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/reason.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/recoverypoint.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/recoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ringbookmarkstore.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/serverchooser.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/sowrecoverypointadapter.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/store.cpp +0 -0
- {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/versioninfo.cpp +0 -0
|
@@ -91,25 +91,6 @@ BOOL amps_win_spin_lock(LPCRITICAL_SECTION x)
|
|
|
91
91
|
#define AMPS_SPIN_LOCK_UNLIMITED(x) EnterCriticalSection(x)
|
|
92
92
|
#define AMPS_UNLOCK(x) LeaveCriticalSection(x)
|
|
93
93
|
#define AMPS_KILLLOCK(x) DeleteCriticalSection(x)
|
|
94
|
-
int tcpThreadTimeoutMillis = 10000;
|
|
95
|
-
#define AMPS_JOIN_DECLARE() \
|
|
96
|
-
DWORD tid = (DWORD)0; \
|
|
97
|
-
HANDLE tidH = (HANDLE)0
|
|
98
|
-
|
|
99
|
-
#define AMPS_JOIN(x) \
|
|
100
|
-
tid = (DWORD)AMPS_IEX(&x, 0); \
|
|
101
|
-
tidH = (HANDLE)AMPS_IEX(&x##H, 0); \
|
|
102
|
-
if (tid != 0) \
|
|
103
|
-
{ \
|
|
104
|
-
if (tid != GetCurrentThreadId()) \
|
|
105
|
-
{ \
|
|
106
|
-
WaitForSingleObject(tidH, tcpThreadTimeoutMillis); \
|
|
107
|
-
} \
|
|
108
|
-
CloseHandle(tidH); \
|
|
109
|
-
}
|
|
110
|
-
#define AMPS_SLEEP(x) \
|
|
111
|
-
Sleep(x)
|
|
112
|
-
#define SHUT_RDWR SD_BOTH
|
|
113
94
|
#else
|
|
114
95
|
#define GET_ERRNO (errno)
|
|
115
96
|
#define SOCK_ERRORCODE(x) x
|
|
@@ -166,25 +147,182 @@ void amps_cleanup_free_buffer(void* data)
|
|
|
166
147
|
|
|
167
148
|
#define AMPS_UNLOCK(x) pthread_mutex_unlock(x)
|
|
168
149
|
#define AMPS_KILLLOCK(x) pthread_mutex_destroy(x)
|
|
150
|
+
#endif
|
|
151
|
+
|
|
152
|
+
#ifdef AMPS_CPP_COUNT_THREADS
|
|
153
|
+
#if __STDC_VERSION__ >= 201100
|
|
154
|
+
_Atomic size_t amps_thread_create_count = 0;
|
|
155
|
+
_Atomic size_t amps_thread_join_count = 0;
|
|
156
|
+
_Atomic size_t amps_thread_detach_count = 0;
|
|
157
|
+
#else
|
|
158
|
+
volatile size_t amps_thread_create_count = 0;
|
|
159
|
+
volatile size_t amps_thread_join_count = 0;
|
|
160
|
+
volatile size_t amps_thread_detach_count = 0;
|
|
161
|
+
#endif
|
|
162
|
+
|
|
163
|
+
#define AMPS_COUNT_THREADS_LOG(x, y) \
|
|
164
|
+
fprintf(stderr, x, y); fflush(stderr);
|
|
165
|
+
|
|
166
|
+
#define AMPS_COUNT_THREADS_LOG2(x, y, z) \
|
|
167
|
+
fprintf(stderr, x, y, z); fflush(stderr);
|
|
168
|
+
|
|
169
|
+
size_t amps_get_thread_create_count(void)
|
|
170
|
+
{
|
|
171
|
+
return AMPS_FETCH_ADD(&s_thread_create_count, 0);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
size_t amps_get_thread_join_count(void)
|
|
175
|
+
{
|
|
176
|
+
return AMPS_FETCH_ADD(&s_thread_join_count, 0);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
size_t amps_get_thread_detach_count(void)
|
|
180
|
+
{
|
|
181
|
+
return AMPS_FETCH_ADD(&s_thread_detach_count, 0);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
#define AMPS_INC_THREAD_COUNT(x) AMPS_FETCH_ADD(x, 1)
|
|
185
|
+
#else
|
|
186
|
+
#define AMPS_INC_THREAD_COUNT(x)
|
|
187
|
+
#define AMPS_COUNT_THREADS_LOG(x, y)
|
|
188
|
+
#define AMPS_COUNT_THREADS_LOG2(x, y, z)
|
|
189
|
+
#endif
|
|
190
|
+
|
|
191
|
+
#ifdef _WIN32
|
|
192
|
+
INIT_ONCE ampsTcpThreadKeyOnce = INIT_ONCE_STATIC_INIT;
|
|
193
|
+
DWORD ampsTcpThreadKey = TLS_OUT_OF_INDEXES;
|
|
194
|
+
|
|
195
|
+
void amps_tcp_delete_key(void)
|
|
196
|
+
{
|
|
197
|
+
TlsFree(ampsTcpThreadKey);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
BOOL CALLBACK amps_tcp_init_key(PINIT_ONCE pKeyOnce, PVOID unused, PVOID* unused2)
|
|
201
|
+
{
|
|
202
|
+
if ((ampsTcpThreadKey = TlsAlloc()) == TLS_OUT_OF_INDEXES)
|
|
203
|
+
{
|
|
204
|
+
return FALSE;
|
|
205
|
+
}
|
|
206
|
+
atexit(amps_tcp_delete_key);
|
|
207
|
+
return TRUE;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
DWORD amps_tcp_get_thread_key(void)
|
|
211
|
+
{
|
|
212
|
+
InitOnceExecuteOnce(&sTcpThreadKeyOnce, amps_tcp_init_key, NULL, NULL);
|
|
213
|
+
return ampsTcpThreadKey;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
void amps_tcp_set_thread_key(void* pVal)
|
|
217
|
+
{
|
|
218
|
+
InitOnceExecuteOnce(&sTcpThreadKeyOnce, amps_tcp_init_key, NULL, NULL);
|
|
219
|
+
TlsSetValue(ampsTcpThreadKey, pVal);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
int tcpThreadTimeoutMillis = 10000;
|
|
223
|
+
|
|
224
|
+
#define AMPS_JOIN_DECLARE() \
|
|
225
|
+
DWORD tid = (DWORD)0; \
|
|
226
|
+
HANDLE tidH = (HANDLE)0
|
|
227
|
+
|
|
228
|
+
#define AMPS_JOIN(x) \
|
|
229
|
+
tid = (DWORD)AMPS_IEX(&x, 0); \
|
|
230
|
+
tidH = (HANDLE)AMPS_IEX(&x##H, 0); \
|
|
231
|
+
if (tid != 0) \
|
|
232
|
+
{ \
|
|
233
|
+
if (tid != GetCurrentThreadId()) \
|
|
234
|
+
{ \
|
|
235
|
+
AMPS_INC_THREAD_COUNT(&s_thread_join_count); \
|
|
236
|
+
WaitForSingleObject(tidH, tcpThreadTimeoutMillis); \
|
|
237
|
+
CloseHandle(tidH); \
|
|
238
|
+
} \
|
|
239
|
+
else \
|
|
240
|
+
{ \
|
|
241
|
+
amps_tcp_set_thread_key((void*)tidH); \
|
|
242
|
+
} \
|
|
243
|
+
} \
|
|
244
|
+
else \
|
|
245
|
+
{ \
|
|
246
|
+
/* Give recv thread a chance to exit in case it hasn't yet */ \
|
|
247
|
+
Sleep(1); \
|
|
248
|
+
}
|
|
249
|
+
#define AMPS_SLEEP(x) \
|
|
250
|
+
Sleep(x)
|
|
251
|
+
#define SHUT_RDWR SD_BOTH
|
|
252
|
+
#else
|
|
253
|
+
pthread_once_t ampsTcpThreadKeyOnce = PTHREAD_ONCE_INIT;
|
|
254
|
+
pthread_key_t ampsTcpThreadKey;
|
|
255
|
+
|
|
256
|
+
void amps_tcp_detach_thread(void* vpSelf)
|
|
257
|
+
{
|
|
258
|
+
AMPS_COUNT_THREADS_LOG("Key destruction detach of %lu\n", (unsigned long)vpSelf)
|
|
259
|
+
pthread_detach((pthread_t)vpSelf);
|
|
260
|
+
AMPS_INC_THREAD_COUNT(&s_thread_detach_count);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
void amps_tcp_delete_thread_key(void)
|
|
264
|
+
{
|
|
265
|
+
pthread_key_delete(ampsTcpThreadKey);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
void amps_tcp_init_thread_key()
|
|
269
|
+
{
|
|
270
|
+
pthread_key_create(&sTcpThreadKey, amps_tcp_detach_thread);
|
|
271
|
+
atexit(amps_tcp_delete_thread_key);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
void amps_tcp_set_thread_key(void* pVal)
|
|
275
|
+
{
|
|
276
|
+
(void) pthread_once(&sTcpThreadKeyOnce, amps_tcp_init_thread_key);
|
|
277
|
+
pthread_setspecific(ampsTcpThreadKey, pVal);
|
|
278
|
+
}
|
|
279
|
+
|
|
169
280
|
#define AMPS_JOIN_DECLARE() \
|
|
170
281
|
pthread_t tid = 0;
|
|
171
282
|
|
|
172
283
|
#if __STDC_VERSION__ >= 201100
|
|
173
284
|
#define AMPS_JOIN(x) \
|
|
174
285
|
tid = atomic_exchange((&x), (pthread_t)0); \
|
|
175
|
-
if(tid != (pthread_t)0
|
|
286
|
+
if(tid != (pthread_t)0) \
|
|
176
287
|
{ \
|
|
177
|
-
|
|
288
|
+
if(tid != pthread_self()) \
|
|
289
|
+
{ \
|
|
290
|
+
AMPS_COUNT_THREADS_LOG2("Join of %lu from %lu\n", tid, pthread_self()) \
|
|
291
|
+
AMPS_INC_THREAD_COUNT(&s_thread_join_count); \
|
|
292
|
+
pthread_join(tid, NULL); \
|
|
293
|
+
} \
|
|
294
|
+
else \
|
|
295
|
+
{ \
|
|
296
|
+
amps_tcp_set_thread_key((void*)tid); \
|
|
297
|
+
} \
|
|
298
|
+
} \
|
|
299
|
+
else \
|
|
300
|
+
{ \
|
|
301
|
+
/* Give recv thread a chance to exit in case it hasn't yet */ \
|
|
302
|
+
usleep(10); \
|
|
178
303
|
}
|
|
179
304
|
#else
|
|
180
305
|
#define AMPS_JOIN(x) \
|
|
181
306
|
tid = AMPS_FETCH_ADD(&x, 0); \
|
|
182
|
-
if(tid != 0) \
|
|
307
|
+
if(tid != (pthread_t)0) \
|
|
183
308
|
{ \
|
|
184
|
-
if(
|
|
309
|
+
if(__sync_bool_compare_and_swap(&x, tid, 0)) \
|
|
185
310
|
{ \
|
|
186
|
-
|
|
311
|
+
if(tid != pthread_self()) \
|
|
312
|
+
{ \
|
|
313
|
+
AMPS_INC_THREAD_COUNT(&s_thread_join_count); \
|
|
314
|
+
pthread_join(tid, NULL); \
|
|
315
|
+
} \
|
|
316
|
+
else \
|
|
317
|
+
{ \
|
|
318
|
+
amps_tcp_set_thread_key((void*)tid); \
|
|
319
|
+
} \
|
|
187
320
|
} \
|
|
321
|
+
} \
|
|
322
|
+
else \
|
|
323
|
+
{ \
|
|
324
|
+
/* Give recv thread a chance to exit in case it hasn't yet */ \
|
|
325
|
+
usleep(10); \
|
|
188
326
|
}
|
|
189
327
|
#endif
|
|
190
328
|
|
|
@@ -786,6 +924,7 @@ amps_result amps_tcp_connect(amps_handle transport, const amps_char* address)
|
|
|
786
924
|
* important to do it in two steps, since we use me->thread as a poor-man's cancellation mechanism */
|
|
787
925
|
if (me->threadH)
|
|
788
926
|
{
|
|
927
|
+
AMPS_INC_THREAD_COUNT(&s_thread_create_count);
|
|
789
928
|
ResumeThread(me->threadH);
|
|
790
929
|
}
|
|
791
930
|
else
|
|
@@ -806,6 +945,8 @@ amps_result amps_tcp_connect(amps_handle transport, const amps_char* address)
|
|
|
806
945
|
result = AMPS_E_MEMORY;
|
|
807
946
|
goto error;
|
|
808
947
|
}
|
|
948
|
+
AMPS_COUNT_THREADS_LOG2("Create of %lu from %lu\n", me->thread, pthread_self())
|
|
949
|
+
AMPS_INC_THREAD_COUNT(&s_thread_create_count);
|
|
809
950
|
#endif
|
|
810
951
|
for (i = 0 ; i < AMPS_THREAD_START_TIMEOUT && me->threadCreatedCallbackResult == -1L; ++i)
|
|
811
952
|
{
|
|
@@ -815,6 +956,8 @@ amps_result amps_tcp_connect(amps_handle transport, const amps_char* address)
|
|
|
815
956
|
if (me->threadCreatedCallbackResult == -1L)
|
|
816
957
|
{
|
|
817
958
|
amps_tcp_set_error(me, "Thread created callback failed to return in a timely manner or returned -1.");
|
|
959
|
+
fd = AMPS_IEX_GET(&me->fd, AMPS_INVALID_SOCKET);
|
|
960
|
+
AMPS_JOIN(me->thread);
|
|
818
961
|
result = AMPS_E_MEMORY;
|
|
819
962
|
}
|
|
820
963
|
error:
|
|
@@ -988,22 +1131,26 @@ amps_result amps_tcp_handle_disconnect(
|
|
|
988
1131
|
goto error;
|
|
989
1132
|
}
|
|
990
1133
|
|
|
991
|
-
#
|
|
1134
|
+
#ifdef _WIN32
|
|
1135
|
+
HANDLE tidH = (AMPS_CURRENT_THREAD() == me->thread) ? me->threadH : NULL;
|
|
1136
|
+
#else
|
|
992
1137
|
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cancelState);
|
|
1138
|
+
void* vpTid = (void*)(pthread_self());
|
|
993
1139
|
#endif
|
|
994
|
-
/* Call the
|
|
1140
|
+
/* Call the disconnect handler. */
|
|
995
1141
|
result = me->disconnectHandler(me, me->disconnectHandlerUserData);
|
|
996
|
-
#ifndef _WIN32
|
|
997
|
-
pthread_setcancelstate(cancelState, &unusedCancelState);
|
|
998
|
-
#endif
|
|
999
1142
|
if (result == AMPS_E_OK)
|
|
1000
1143
|
{
|
|
1001
|
-
|
|
1144
|
+
#ifdef _WIN32
|
|
1145
|
+
if (tidH)
|
|
1146
|
+
{
|
|
1147
|
+
amps_tcp_set_thread_key(tidH);
|
|
1148
|
+
}
|
|
1149
|
+
#else
|
|
1150
|
+
amps_tcp_set_thread_key(vpTid);
|
|
1151
|
+
#endif
|
|
1002
1152
|
}
|
|
1003
1153
|
error:
|
|
1004
|
-
#ifndef _WIN32
|
|
1005
|
-
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cancelState);
|
|
1006
|
-
#endif
|
|
1007
1154
|
AMPS_UNLOCK(&me->lock);
|
|
1008
1155
|
#ifndef _WIN32
|
|
1009
1156
|
pthread_cleanup_pop(0);
|
|
@@ -1123,7 +1270,7 @@ amps_tcp_send(amps_handle transport,
|
|
|
1123
1270
|
DWORD amps_tcp_threaded_reader(void* userData)
|
|
1124
1271
|
{
|
|
1125
1272
|
amps_tcp_t* me = (amps_tcp_t*)userData;
|
|
1126
|
-
|
|
1273
|
+
AMPS_THREAD_ID tid = AMPS_CURRENT_THREAD();
|
|
1127
1274
|
if (me->threadCreatedCallback)
|
|
1128
1275
|
{
|
|
1129
1276
|
amps_result result = me->threadCreatedCallback(me->threadH,
|
|
@@ -1142,8 +1289,9 @@ DWORD amps_tcp_threaded_reader(void* userData)
|
|
|
1142
1289
|
void* amps_tcp_threaded_reader(void* userData)
|
|
1143
1290
|
{
|
|
1144
1291
|
amps_tcp_t* me = (amps_tcp_t*)userData;
|
|
1292
|
+
AMPS_THREAD_ID tid = AMPS_CURRENT_THREAD();
|
|
1145
1293
|
/* Wait for pthread_create to set me->thread */
|
|
1146
|
-
while (me->thread !=
|
|
1294
|
+
while (me->thread != tid
|
|
1147
1295
|
&& !me->disconnecting
|
|
1148
1296
|
&& !me->destroying)
|
|
1149
1297
|
{
|
|
@@ -1212,7 +1360,7 @@ void* amps_tcp_threaded_reader(void* userData)
|
|
|
1212
1360
|
while (connectionVersion == me->connectionVersion
|
|
1213
1361
|
&& !me->disconnecting
|
|
1214
1362
|
&& fd == me->fd
|
|
1215
|
-
&& me->thread ==
|
|
1363
|
+
&& me->thread == tid /* our cancellation mechanism on win32 */
|
|
1216
1364
|
)
|
|
1217
1365
|
{
|
|
1218
1366
|
if (me->destroying)
|
|
@@ -1386,33 +1534,45 @@ cleanup:
|
|
|
1386
1534
|
#endif
|
|
1387
1535
|
amps_message_destroy(message);
|
|
1388
1536
|
free(buffer);
|
|
1389
|
-
if (me->destroying)
|
|
1390
|
-
{
|
|
1391
|
-
return 0;
|
|
1392
|
-
}
|
|
1393
1537
|
// If exiting as the reader thread, clear me->thread
|
|
1394
1538
|
// Unless me-thread is 0, we're not getting joined, so detach
|
|
1395
|
-
AMPS_THREAD_ID tid = AMPS_CURRENT_THREAD();
|
|
1396
1539
|
if (me->threadExitCallback)
|
|
1397
1540
|
{
|
|
1398
1541
|
me->threadExitCallback(tid, me->threadExitCallbackUserData);
|
|
1399
1542
|
}
|
|
1400
1543
|
#if __STDC_VERSION__ >= 201100
|
|
1401
|
-
|
|
1544
|
+
AMPS_THREAD_ID mytid = tid;
|
|
1545
|
+
bool swapped = atomic_compare_exchange_strong(&(me->thread), &tid, 0);
|
|
1546
|
+
if (swapped || me->thread != 0)
|
|
1402
1547
|
#elif defined(_WIN32)
|
|
1548
|
+
// This returns the initial value of me->thread
|
|
1403
1549
|
if (InterlockedCompareExchange((volatile unsigned int*)(&(me->thread)),
|
|
1404
|
-
(unsigned int)tid, (unsigned int)0))
|
|
1550
|
+
(unsigned int)tid, (unsigned int)0) != 0)
|
|
1405
1551
|
#else
|
|
1552
|
+
AMPS_THREAD_ID mytid = tid;
|
|
1406
1553
|
int swapped = (int)__sync_bool_compare_and_swap(&(me->thread), tid, 0);
|
|
1407
1554
|
if (swapped || me->thread != 0)
|
|
1408
1555
|
#endif
|
|
1409
1556
|
{
|
|
1557
|
+
AMPS_COUNT_THREADS_LOG("Detach of %lu\n", mytid)
|
|
1558
|
+
AMPS_INC_THREAD_COUNT(&s_thread_detach_count);
|
|
1410
1559
|
#ifdef _WIN32
|
|
1411
1560
|
CloseHandle((HANDLE)(AMPS_IEX(&(me->threadH), 0)));
|
|
1412
1561
|
#else
|
|
1413
|
-
pthread_detach(
|
|
1562
|
+
pthread_detach(mytid);
|
|
1414
1563
|
#endif
|
|
1564
|
+
amps_tcp_set_thread_key(NULL);
|
|
1565
|
+
}
|
|
1566
|
+
#ifdef _WIN32
|
|
1567
|
+
else
|
|
1568
|
+
{
|
|
1569
|
+
HANDLE tidH = TlsGetValue(amps_tcp_get_thread_key());
|
|
1570
|
+
if (tidH != NULL)
|
|
1571
|
+
{
|
|
1572
|
+
CloseHandle(tidH);
|
|
1573
|
+
}
|
|
1415
1574
|
}
|
|
1575
|
+
#endif
|
|
1416
1576
|
|
|
1417
1577
|
return 0;
|
|
1418
1578
|
}
|
|
@@ -1427,6 +1587,12 @@ amps_tcp_attempt_reconnect(amps_handle transport, unsigned version)
|
|
|
1427
1587
|
version = me->connectionVersion;
|
|
1428
1588
|
}
|
|
1429
1589
|
res = amps_tcp_handle_disconnect(me, version);
|
|
1590
|
+
if (res == AMPS_E_OK)
|
|
1591
|
+
{
|
|
1592
|
+
// We don't want non-receive threads detaching
|
|
1593
|
+
amps_tcp_set_thread_key(NULL);
|
|
1594
|
+
res = AMPS_E_RETRY;
|
|
1595
|
+
}
|
|
1430
1596
|
return res;
|
|
1431
1597
|
}
|
|
1432
1598
|
|