amps-python-client 5.3.4.1__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.1/HISTORY +7 -0
- amps-python-client-5.3.4.1/LICENSE +157 -0
- amps-python-client-5.3.4.1/PKG-INFO +112 -0
- amps-python-client-5.3.4.1/README.md +96 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/.buildinfo +4 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_images/caution.svg +25 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +32 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +27 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/intro.rst.txt +43 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/logon.rst.txt +231 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +1474 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/publishing.rst.txt +25 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +12 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +23 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/removing.rst.txt +6 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/utilities.rst.txt +13 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/index.rst.txt +56 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/ajax-loader.gif +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/alabaster.css +699 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/basic.css +632 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment-bright.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment-close.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css +192 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css.backup +161 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/doctools.js +287 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/down-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/down.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/file.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/flag_logo.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/flag_logo.svg +153 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/jquery-3.1.0.js +10074 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/jquery.js +4 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/minus.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/plus.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/pygments.css +74 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/searchtools.js +758 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/underscore-1.3.1.js +999 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/underscore.js +31 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/up-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/up.png +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/websupport.js +808 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/ack-messages.html +417 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/content-messages.html +417 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/intro.html +126 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/logon.html +295 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/protocol-reference.html +1190 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/publishing.html +436 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-delimiters.html +173 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-subscribe.html +2123 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/removing.html +299 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/utilities.html +287 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/genindex.html +97 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/index.html +138 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/objects.inv +0 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/search.html +107 -0
- amps-python-client-5.3.4.1/docs/command-reference/html/searchindex.js +1 -0
- amps-python-client-5.3.4.1/docs/html/.buildinfo +4 -0
- amps-python-client-5.3.4.1/docs/html/_sources/code.rst.txt +6 -0
- amps-python-client-5.3.4.1/docs/html/_sources/index.rst.txt +29 -0
- amps-python-client-5.3.4.1/docs/html/_static/ajax-loader.gif +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/basic.css +632 -0
- amps-python-client-5.3.4.1/docs/html/_static/classic.css +261 -0
- amps-python-client-5.3.4.1/docs/html/_static/comment-bright.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/comment-close.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/comment.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/default.css +1 -0
- amps-python-client-5.3.4.1/docs/html/_static/doctools.js +287 -0
- amps-python-client-5.3.4.1/docs/html/_static/down-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/down.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/file.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/jquery-3.1.0.js +10074 -0
- amps-python-client-5.3.4.1/docs/html/_static/jquery.js +4 -0
- amps-python-client-5.3.4.1/docs/html/_static/minus.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/plus.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/pygments.css +74 -0
- amps-python-client-5.3.4.1/docs/html/_static/searchtools.js +758 -0
- amps-python-client-5.3.4.1/docs/html/_static/sidebar.js +159 -0
- amps-python-client-5.3.4.1/docs/html/_static/underscore-1.3.1.js +999 -0
- amps-python-client-5.3.4.1/docs/html/_static/underscore.js +31 -0
- amps-python-client-5.3.4.1/docs/html/_static/up-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/up.png +0 -0
- amps-python-client-5.3.4.1/docs/html/_static/websupport.js +808 -0
- amps-python-client-5.3.4.1/docs/html/code.html +6503 -0
- amps-python-client-5.3.4.1/docs/html/genindex.html +1361 -0
- amps-python-client-5.3.4.1/docs/html/index.html +131 -0
- amps-python-client-5.3.4.1/docs/html/objects.inv +0 -0
- amps-python-client-5.3.4.1/docs/html/py-modindex.html +111 -0
- amps-python-client-5.3.4.1/docs/html/search.html +107 -0
- amps-python-client-5.3.4.1/docs/html/searchindex.js +1 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/deltas.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/error-handling.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/exceptions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/first-program.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/high-availability.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/installing.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/introduction.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.1/docs/python/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python/html/.buildinfo +4 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/caution.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/caution.svg +25 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/connection_string.svg +461 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/important.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/important.svg +25 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/tip.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/tip.svg +31 -0
- amps-python-client-5.3.4.1/docs/python/html/_images/warning.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +6 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/error-handling.rst.txt +482 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/exceptions.rst.txt +128 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/first-program.rst.txt +142 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/high-availability.rst.txt +876 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/performance-tips.rst.txt +434 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/sow.rst.txt +292 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
- amps-python-client-5.3.4.1/docs/python/html/_sources/index.rst.txt +44 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/ajax-loader.gif +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/alabaster.css +699 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/basic.css +632 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/comment-bright.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/comment-close.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/comment.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/custom.css +192 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/custom.css.backup +161 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/doctools.js +287 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/down-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/down.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/file.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/flag_logo.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/flag_logo.svg +153 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/jquery-3.1.0.js +10074 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/jquery.js +4 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/minus.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/plus.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/pygments.css +74 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/searchtools.js +758 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/underscore-1.3.1.js +999 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/underscore.js +31 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/up-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/up.png +0 -0
- amps-python-client-5.3.4.1/docs/python/html/_static/websupport.js +808 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/advanced-topics.html +447 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-compiler-list.html +92 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-feature-table.html +156 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/creating-commands.html +2837 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/deltas.html +169 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/error-handling.html +746 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/exceptions.html +272 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/first-program.html +499 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/high-availability.html +1014 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/installing.html +264 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/introduction.html +245 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/moving-from-python-lite.html +118 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/performance-tips.html +499 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/queues.html +352 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/sow.html +381 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/subscriptions.html +535 -0
- amps-python-client-5.3.4.1/docs/python/html/chapters/utilities.html +302 -0
- amps-python-client-5.3.4.1/docs/python/html/genindex.html +351 -0
- amps-python-client-5.3.4.1/docs/python/html/index.html +380 -0
- amps-python-client-5.3.4.1/docs/python/html/objects.inv +0 -0
- amps-python-client-5.3.4.1/docs/python/html/search.html +107 -0
- amps-python-client-5.3.4.1/docs/python/html/searchindex.js +1 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/.buildinfo +4 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +155 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +19 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/index.rst.txt +20 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/alabaster.css +699 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/basic.css +632 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment-bright.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment-close.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css +192 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css.backup +161 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/doctools.js +287 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/down-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/down.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/file.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/flag_logo.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/flag_logo.svg +153 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/jquery-3.1.0.js +10074 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/jquery.js +4 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/minus.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/plus.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/pygments.css +74 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/searchtools.js +758 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/underscore-1.3.1.js +999 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/underscore.js +31 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/up-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/up.png +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/websupport.js +808 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/crankitup.html +271 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/equipment.html +105 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/genindex.html +97 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/index.html +382 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/objects.inv +0 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/search.html +107 -0
- amps-python-client-5.3.4.1/docs/python-quickstart/html/searchindex.js +1 -0
- amps-python-client-5.3.4.1/docs/resources/custom.css +9 -0
- amps-python-client-5.3.4.1/docs/resources/flag_logo.svg +153 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/events.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/.buildinfo +4 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/AMPS-Queues-Intro.svg +1330 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/GeoRepl.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_async_ack.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_sync_ack.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/Hot-Hot-Replication.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/MessageOrdering.svg +235 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF5.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF6.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF7.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF8.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub1.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub2.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWAndSubscribeAndReplace.svg +684 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery1.svg +402 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery2.svg +505 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig1.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig2.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig3.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig4.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.svg +25 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/chicago_group.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_original_messages.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_update_message.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.svg +25 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/inline_view_conflation.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_pub.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_sub.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/queue_usage_overview.svg +627 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_hub.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_scenario_with_ha.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_1.svg +248 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_2.svg +183 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_update_sequence.svg +1 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.svg +31 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.svg +23 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/acks.rst.txt +232 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/actions.rst.txt +111 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +358 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +83 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +11 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +86 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +9 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +111 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +269 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/daemon.rst.txt +232 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/delta.rst.txt +556 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/distribution.rst.txt +186 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +191 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/events.rst.txt +39 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +203 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/glossary.rst.txt +101 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/ha.rst.txt +465 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +23 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/intro.rst.txt +116 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/logging.rst.txt +34 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +1398 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +326 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/oof.rst.txt +312 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/operation.rst.txt +27 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +49 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/queues.rst.txt +1351 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/replication.rst.txt +1228 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/securing.rst.txt +657 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow.rst.txt +57 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +25 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/spark.rst.txt +824 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/transports.rst.txt +291 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +517 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/txlog.rst.txt +62 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/usecases.rst.txt +21 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/utilities.rst.txt +62 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/views.rst.txt +175 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/index.rst.txt +110 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/ajax-loader.gif +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/alabaster.css +695 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/basic.css +632 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment-bright.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment-close.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css +192 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css.backup +161 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/doctools.js +287 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/down-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/down.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/file.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/flag_logo.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/flag_logo.svg +153 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/jquery-3.1.0.js +10074 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/jquery.js +4 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/minus.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/plus.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/pygments.css +74 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/searchtools.js +758 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/underscore-1.3.1.js +999 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/underscore.js +31 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/up-pressed.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/up.png +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/websupport.js +808 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/acks.html +289 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/actions.html +3782 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps-statistics.html +439 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_expressions.html +1552 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_functions.html +1626 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/auxiliary_modules.html +2548 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/config-file-shortcuts.html +508 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/conflated_topics.html +328 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/constructing-fields.html +447 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/daemon.html +295 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/delta.html +609 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/distribution.html +246 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/enrichment.html +264 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/events.html +449 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/file_format_versions.html +229 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/glossary.html +215 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/ha.html +978 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/installing_and_starting.html +357 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/intro.html +572 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/logging.html +972 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/messageTypes.html +1280 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/monitoring.html +718 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/oof.html +341 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/operation.html +1515 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/pub_sub.html +934 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/queues.html +1767 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/replication.html +1777 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/securing.html +697 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow.html +1038 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow_queries.html +621 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/spark.html +819 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/transports.html +352 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/troubleshooting.html +530 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/txlog.html +1013 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/usecases.html +288 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/utilities.html +133 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/views.html +1120 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/genindex.html +1261 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/index.html +163 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/objects.inv +0 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/search.html +106 -0
- amps-python-client-5.3.4.1/docs/user-guide/html/searchindex.js +1 -0
- amps-python-client-5.3.4.1/include/ampspy_bookmarkstore.hpp +63 -0
- amps-python-client-5.3.4.1/include/ampspy_compat.h +63 -0
- amps-python-client-5.3.4.1/include/ampspy_defs.hpp +181 -0
- amps-python-client-5.3.4.1/include/ampspy_recoverypointadapter.hpp +52 -0
- amps-python-client-5.3.4.1/include/ampspy_shims.hpp +113 -0
- amps-python-client-5.3.4.1/include/ampspy_type_object.hpp +242 -0
- amps-python-client-5.3.4.1/include/ampspy_types.hpp +1139 -0
- amps-python-client-5.3.4.1/include/ampspyver.h +30 -0
- amps-python-client-5.3.4.1/index.html +66 -0
- amps-python-client-5.3.4.1/samples/AMPSConsolePublisher.py +59 -0
- amps-python-client-5.3.4.1/samples/AMPSConsoleSubscriber.py +63 -0
- amps-python-client-5.3.4.1/samples/AMPSFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.1/samples/AMPSFIXShredderSubscriber.py +69 -0
- amps-python-client-5.3.4.1/samples/AMPSNVFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.1/samples/AMPSNVFIXShredderSubscriber.py +67 -0
- amps-python-client-5.3.4.1/samples/AMPSPublishForReplay.py +81 -0
- amps-python-client-5.3.4.1/samples/AMPSQueueConsumer.py +69 -0
- amps-python-client-5.3.4.1/samples/AMPSQueuePublisher.py +59 -0
- amps-python-client-5.3.4.1/samples/AMPSSOWConsolePublisher.py +67 -0
- amps-python-client-5.3.4.1/samples/AMPSSOWConsoleSubscriber.py +77 -0
- amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
- amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
- amps-python-client-5.3.4.1/samples/AMPSSubscribeForReplay.py +128 -0
- amps-python-client-5.3.4.1/samples/AMPSUpdateForOOF.py +123 -0
- amps-python-client-5.3.4.1/samples/CompositeMessagePublisher.py +84 -0
- amps-python-client-5.3.4.1/samples/CompositeMessageSubscriber.py +87 -0
- amps-python-client-5.3.4.1/samples/RandomServerChooser.py +41 -0
- amps-python-client-5.3.4.1/samples/sample.xml +335 -0
- amps-python-client-5.3.4.1/setup.py +209 -0
- amps-python-client-5.3.4.1/setup_amps.py +94 -0
- amps-python-client-5.3.4.1/src/ampspy_shims.cpp +203 -0
- amps-python-client-5.3.4.1/src/ampspy_type_object.cpp +484 -0
- amps-python-client-5.3.4.1/src/authenticator.cpp +128 -0
- amps-python-client-5.3.4.1/src/bookmarkstore.cpp +238 -0
- amps-python-client-5.3.4.1/src/client.cpp +2430 -0
- amps-python-client-5.3.4.1/src/client_docs.h +956 -0
- amps-python-client-5.3.4.1/src/cmessagehandler.cpp +151 -0
- amps-python-client-5.3.4.1/src/command.cpp +164 -0
- amps-python-client-5.3.4.1/src/command_docs.h +194 -0
- amps-python-client-5.3.4.1/src/compositemessagebuilder.cpp +111 -0
- amps-python-client-5.3.4.1/src/compositemessageparser.cpp +146 -0
- amps-python-client-5.3.4.1/src/conflatingrecoverypointadapter.cpp +194 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/BlockPublishStore.hpp +2053 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/BlockStore.hpp +677 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/BookmarkStore.hpp +542 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/Buffer.hpp +214 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/Field.hpp +719 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/HAClient.hpp +370 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/HAClientImpl.hpp +460 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/LoggedBookmarkStore.hpp +1255 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MMapStoreBuffer.hpp +290 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryBookmarkStore.hpp +1622 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryStoreBuffer.hpp +244 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/Message.hpp +1819 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/MessageRouter.hpp +618 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/PublishStore.hpp +158 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +490 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooser.hpp +145 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps.h +775 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps_generated.h +46 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps_impl.h +204 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps_ssl.h +78 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampscrc.hpp +210 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsplusplus.hpp +8817 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsuri.h +84 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h +41 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h.in +41 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/constants.hpp +194 -0
- amps-python-client-5.3.4.1/src/cpp/include/amps/util.hpp +1692 -0
- amps-python-client-5.3.4.1/src/cpp/src/amps_protocol.c +688 -0
- amps-python-client-5.3.4.1/src/cpp/src/amps_protocol_generated.h +80 -0
- amps-python-client-5.3.4.1/src/cpp/src/amps_ssl.c +489 -0
- amps-python-client-5.3.4.1/src/cpp/src/atfork.c +446 -0
- amps-python-client-5.3.4.1/src/cpp/src/client.c +483 -0
- amps-python-client-5.3.4.1/src/cpp/src/makefile +92 -0
- amps-python-client-5.3.4.1/src/cpp/src/message.c +837 -0
- amps-python-client-5.3.4.1/src/cpp/src/message_generated.h +611 -0
- amps-python-client-5.3.4.1/src/cpp/src/tcp.c +1489 -0
- amps-python-client-5.3.4.1/src/cpp/src/tcps.c +1894 -0
- amps-python-client-5.3.4.1/src/cpp/src/transports.c +123 -0
- amps-python-client-5.3.4.1/src/cpp/src/unix.c +984 -0
- amps-python-client-5.3.4.1/src/cpp/src/uri.c +301 -0
- amps-python-client-5.3.4.1/src/exponentialdelaystrategy.cpp +137 -0
- amps-python-client-5.3.4.1/src/failedwritehandler.cpp +116 -0
- amps-python-client-5.3.4.1/src/fixbuilder.cpp +146 -0
- amps-python-client-5.3.4.1/src/fixeddelaystrategy.cpp +114 -0
- amps-python-client-5.3.4.1/src/fixshredder.cpp +105 -0
- amps-python-client-5.3.4.1/src/fixshredder_docs.h +38 -0
- amps-python-client-5.3.4.1/src/haclient.cpp +691 -0
- amps-python-client-5.3.4.1/src/haclient_docs.h +132 -0
- amps-python-client-5.3.4.1/src/hybridpublishstore.cpp +137 -0
- amps-python-client-5.3.4.1/src/hybridpublishstore_docs.h +31 -0
- amps-python-client-5.3.4.1/src/memorybookmarkstore.cpp +373 -0
- amps-python-client-5.3.4.1/src/memorybookmarkstore_docs.h +39 -0
- amps-python-client-5.3.4.1/src/memorypublishstore.cpp +160 -0
- amps-python-client-5.3.4.1/src/memorypublishstore_docs.h +32 -0
- amps-python-client-5.3.4.1/src/message.cpp +765 -0
- amps-python-client-5.3.4.1/src/message_docs.h +306 -0
- amps-python-client-5.3.4.1/src/messagestream.cpp +623 -0
- amps-python-client-5.3.4.1/src/messagestream_docs.h +45 -0
- amps-python-client-5.3.4.1/src/mmapbookmarkstore.cpp +422 -0
- amps-python-client-5.3.4.1/src/nvfixbuilder.cpp +160 -0
- amps-python-client-5.3.4.1/src/nvfixbuilder_docs.h +33 -0
- amps-python-client-5.3.4.1/src/nvfixshredder.cpp +99 -0
- amps-python-client-5.3.4.1/src/nvfixshredder_docs.h +39 -0
- amps-python-client-5.3.4.1/src/publishstore.cpp +183 -0
- amps-python-client-5.3.4.1/src/raw_wrapper.cpp +756 -0
- amps-python-client-5.3.4.1/src/reason.cpp +71 -0
- amps-python-client-5.3.4.1/src/recoverypoint.cpp +135 -0
- amps-python-client-5.3.4.1/src/recoverypointadapter.cpp +171 -0
- amps-python-client-5.3.4.1/src/ringbookmarkstore.cpp +360 -0
- amps-python-client-5.3.4.1/src/serverchooser.cpp +245 -0
- amps-python-client-5.3.4.1/src/serverchooser_docs.h +39 -0
- amps-python-client-5.3.4.1/src/sowrecoverypointadapter.cpp +248 -0
- amps-python-client-5.3.4.1/src/store.cpp +62 -0
- amps-python-client-5.3.4.1/src/versioninfo.cpp +175 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/** ////////////////////////////////////////////////////////////////////////
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2010-2023 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
|
+
#include <amps/ampsuri.h>
|
|
26
|
+
#include <assert.h>
|
|
27
|
+
|
|
28
|
+
AMPSDLL void
|
|
29
|
+
amps_uri_parse(const char* pUri_, size_t uriLength_, amps_uri_state* pUriState_)
|
|
30
|
+
{
|
|
31
|
+
const char* ch = NULL;
|
|
32
|
+
const char* pEnd = pUri_ + uriLength_;
|
|
33
|
+
if (pUriState_->part_id == AMPS_URI_START)
|
|
34
|
+
{
|
|
35
|
+
pUriState_->part = pUri_;
|
|
36
|
+
pUriState_->part_length = 0;
|
|
37
|
+
}
|
|
38
|
+
ch = pUriState_->part + pUriState_->part_length;
|
|
39
|
+
switch (pUriState_->part_id)
|
|
40
|
+
{
|
|
41
|
+
case AMPS_URI_START:
|
|
42
|
+
while (ch < pEnd)
|
|
43
|
+
{
|
|
44
|
+
if (*ch == ':')
|
|
45
|
+
{
|
|
46
|
+
pUriState_->part_length = (size_t)(ch - pUri_);
|
|
47
|
+
pUriState_->part_id = AMPS_URI_TRANSPORT;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
++ch;
|
|
51
|
+
}
|
|
52
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
53
|
+
break;
|
|
54
|
+
case AMPS_URI_TRANSPORT:
|
|
55
|
+
++ch;
|
|
56
|
+
while (ch < pEnd && *++ch == '/');
|
|
57
|
+
pUriState_->part = ch;
|
|
58
|
+
while (ch < pEnd)
|
|
59
|
+
{
|
|
60
|
+
if (*ch == '[')
|
|
61
|
+
{
|
|
62
|
+
pUriState_->part = ++ch;
|
|
63
|
+
while (ch < pEnd && *++ch != ']');
|
|
64
|
+
pUriState_->part_id = ch >= pEnd ? AMPS_URI_ERROR : AMPS_URI_HOST;
|
|
65
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
else if (*ch == ':')
|
|
69
|
+
{
|
|
70
|
+
const char* next = NULL;
|
|
71
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
72
|
+
next = ch + 1;
|
|
73
|
+
while (next < pEnd)
|
|
74
|
+
{
|
|
75
|
+
if (*next == '@')
|
|
76
|
+
{
|
|
77
|
+
pUriState_->part_id = AMPS_URI_USER;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (*next == '/')
|
|
81
|
+
{
|
|
82
|
+
pUriState_->part_id = AMPS_URI_HOST;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
++next;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (*ch == '@')
|
|
89
|
+
{
|
|
90
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
91
|
+
pUriState_->part_id = AMPS_URI_USER;
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
++ch;
|
|
95
|
+
}
|
|
96
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
97
|
+
break;
|
|
98
|
+
case AMPS_URI_USER:
|
|
99
|
+
if (*ch == '@')
|
|
100
|
+
{
|
|
101
|
+
++ch;
|
|
102
|
+
if (*ch == '[')
|
|
103
|
+
{
|
|
104
|
+
pUriState_->part = ++ch;
|
|
105
|
+
while (ch < pEnd && *++ch != ']');
|
|
106
|
+
}
|
|
107
|
+
else
|
|
108
|
+
{
|
|
109
|
+
pUriState_->part = ch;
|
|
110
|
+
while (ch < pEnd && *++ch != ':');
|
|
111
|
+
}
|
|
112
|
+
pUriState_->part_id = ch >= pEnd ? AMPS_URI_ERROR : AMPS_URI_HOST;
|
|
113
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
114
|
+
}
|
|
115
|
+
else
|
|
116
|
+
{
|
|
117
|
+
pUriState_->part_id = AMPS_URI_PASSWORD;
|
|
118
|
+
pUriState_->part = ++ch;
|
|
119
|
+
while (ch < pEnd && *ch != '@')
|
|
120
|
+
{
|
|
121
|
+
++ch;
|
|
122
|
+
}
|
|
123
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
124
|
+
}
|
|
125
|
+
break;
|
|
126
|
+
case AMPS_URI_PASSWORD:
|
|
127
|
+
assert(*ch == '@');
|
|
128
|
+
++ch;
|
|
129
|
+
if (*ch == '[')
|
|
130
|
+
{
|
|
131
|
+
pUriState_->part = ++ch;
|
|
132
|
+
while (ch < pEnd && *++ch != ']');
|
|
133
|
+
}
|
|
134
|
+
else
|
|
135
|
+
{
|
|
136
|
+
pUriState_->part = ch;
|
|
137
|
+
while (ch < pEnd && *++ch != ':');
|
|
138
|
+
}
|
|
139
|
+
pUriState_->part_id = ch >= pEnd ? AMPS_URI_ERROR : AMPS_URI_HOST;
|
|
140
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
141
|
+
break;
|
|
142
|
+
case AMPS_URI_HOST:
|
|
143
|
+
if (*ch == ']')
|
|
144
|
+
{
|
|
145
|
+
++ch;
|
|
146
|
+
}
|
|
147
|
+
assert(*ch == ':');
|
|
148
|
+
++ch;
|
|
149
|
+
pUriState_->part = ch;
|
|
150
|
+
while (ch < pEnd)
|
|
151
|
+
{
|
|
152
|
+
if (*ch == '/')
|
|
153
|
+
{
|
|
154
|
+
pUriState_->part_id = AMPS_URI_PORT;
|
|
155
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
++ch;
|
|
159
|
+
}
|
|
160
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
161
|
+
break;
|
|
162
|
+
case AMPS_URI_PORT:
|
|
163
|
+
assert(*ch == '/');
|
|
164
|
+
++ch;
|
|
165
|
+
pUriState_->part = ch;
|
|
166
|
+
while (ch < pEnd)
|
|
167
|
+
{
|
|
168
|
+
if (*ch == '/' || *ch == '?')
|
|
169
|
+
{
|
|
170
|
+
break;
|
|
171
|
+
} ++ch;
|
|
172
|
+
}
|
|
173
|
+
pUriState_->part_id = AMPS_URI_PROTOCOL;
|
|
174
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
175
|
+
break;
|
|
176
|
+
case AMPS_URI_PROTOCOL:
|
|
177
|
+
if (ch == pEnd)
|
|
178
|
+
{
|
|
179
|
+
pUriState_->part_id = AMPS_URI_END;
|
|
180
|
+
}
|
|
181
|
+
else if (*ch == '?')
|
|
182
|
+
{
|
|
183
|
+
++ch;
|
|
184
|
+
pUriState_->part = ch;
|
|
185
|
+
pUriState_->part_id = AMPS_URI_OPTION_KEY;
|
|
186
|
+
while (ch < pEnd)
|
|
187
|
+
{
|
|
188
|
+
if (*ch == '=')
|
|
189
|
+
{
|
|
190
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
++ch;
|
|
194
|
+
}
|
|
195
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
196
|
+
}
|
|
197
|
+
else
|
|
198
|
+
{
|
|
199
|
+
assert(*ch == '/');
|
|
200
|
+
++ch;
|
|
201
|
+
pUriState_->part = ch;
|
|
202
|
+
while (ch < pEnd)
|
|
203
|
+
{
|
|
204
|
+
if (*ch == '/' || *ch == '?')
|
|
205
|
+
{
|
|
206
|
+
break;
|
|
207
|
+
} ++ch;
|
|
208
|
+
}
|
|
209
|
+
pUriState_->part_id = AMPS_URI_MESSAGE_TYPE;
|
|
210
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
211
|
+
}
|
|
212
|
+
break;
|
|
213
|
+
case AMPS_URI_MESSAGE_TYPE:
|
|
214
|
+
if (ch + 1 >= pEnd)
|
|
215
|
+
{
|
|
216
|
+
pUriState_->part_id = AMPS_URI_END;
|
|
217
|
+
}
|
|
218
|
+
else
|
|
219
|
+
{
|
|
220
|
+
if (*ch == '/')
|
|
221
|
+
{
|
|
222
|
+
++ch;
|
|
223
|
+
}
|
|
224
|
+
if (*ch++ != '?')
|
|
225
|
+
{
|
|
226
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
pUriState_->part = ch;
|
|
230
|
+
pUriState_->part_id = AMPS_URI_OPTION_KEY;
|
|
231
|
+
while (ch < pEnd)
|
|
232
|
+
{
|
|
233
|
+
if (*ch == '=')
|
|
234
|
+
{
|
|
235
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
++ch;
|
|
239
|
+
}
|
|
240
|
+
pUriState_->part_id = ch > pUriState_->part ? AMPS_URI_ERROR : AMPS_URI_END;
|
|
241
|
+
}
|
|
242
|
+
break;
|
|
243
|
+
case AMPS_URI_OPTION_KEY:
|
|
244
|
+
assert(*ch == '=');
|
|
245
|
+
pUriState_->part = ++ch;
|
|
246
|
+
while (ch < pEnd && *ch != '&')
|
|
247
|
+
{
|
|
248
|
+
++ch;
|
|
249
|
+
}
|
|
250
|
+
pUriState_->part_id = AMPS_URI_OPTION_VALUE;
|
|
251
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
252
|
+
break;
|
|
253
|
+
case AMPS_URI_OPTION_VALUE:
|
|
254
|
+
if (ch + 1 >= pEnd)
|
|
255
|
+
{
|
|
256
|
+
pUriState_->part_id = AMPS_URI_END;
|
|
257
|
+
}
|
|
258
|
+
else
|
|
259
|
+
{
|
|
260
|
+
pUriState_->part = ++ch;
|
|
261
|
+
while (ch < pEnd && *++ch != '=');
|
|
262
|
+
pUriState_->part_length = (size_t)(ch - pUriState_->part);
|
|
263
|
+
pUriState_->part_id = ch >= pEnd ? AMPS_URI_ERROR : AMPS_URI_OPTION_KEY;
|
|
264
|
+
}
|
|
265
|
+
break;
|
|
266
|
+
default:
|
|
267
|
+
pUriState_->part_id = AMPS_URI_ERROR;
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
/*
|
|
273
|
+
static const char* amps_uri_part_names[] = {
|
|
274
|
+
"start",
|
|
275
|
+
"transport",
|
|
276
|
+
"user",
|
|
277
|
+
"password",
|
|
278
|
+
"host",
|
|
279
|
+
"port",
|
|
280
|
+
"protocol",
|
|
281
|
+
"message type",
|
|
282
|
+
"option key",
|
|
283
|
+
"option value",
|
|
284
|
+
"ERROR",
|
|
285
|
+
"end"
|
|
286
|
+
};
|
|
287
|
+
int main(int argc, char**argv)
|
|
288
|
+
{
|
|
289
|
+
amps_uri_state state;
|
|
290
|
+
memset(&state, 0, sizeof(amps_uri_state));
|
|
291
|
+
|
|
292
|
+
while(state.part_id < AMPS_URI_ERROR)
|
|
293
|
+
{
|
|
294
|
+
amps_uri_parse(argv[1],strlen(argv[1]),&state);
|
|
295
|
+
printf("%12s [%.*s]\n", amps_uri_part_names[state.part_id],
|
|
296
|
+
(int)state.part_length,
|
|
297
|
+
state.part);
|
|
298
|
+
}
|
|
299
|
+
return 0;
|
|
300
|
+
}
|
|
301
|
+
*/
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2010-2023 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/ReconnectDelayStrategy.hpp>
|
|
32
|
+
#include <amps/ReconnectDelayStrategyImpl.hpp>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
using namespace AMPS;
|
|
36
|
+
namespace ampspy
|
|
37
|
+
{
|
|
38
|
+
namespace exponentialdelaystrategy
|
|
39
|
+
{
|
|
40
|
+
|
|
41
|
+
AMPSDLL ampspy::ampspy_type_object type;
|
|
42
|
+
|
|
43
|
+
// def __init__(self, name):
|
|
44
|
+
static int ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
45
|
+
{
|
|
46
|
+
static const char* kwargs[] = { "initial_delay", "maximum_delay",
|
|
47
|
+
"backoff_exponent", "maximum_retry_time", "jitter", NULL
|
|
48
|
+
};
|
|
49
|
+
unsigned long initial_delay = 200, maximum_delay = 20 * 1000,
|
|
50
|
+
maximum_retry_time = 0;
|
|
51
|
+
double backoff_exponent = 2.0;
|
|
52
|
+
double jitter = 1.0;
|
|
53
|
+
|
|
54
|
+
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|IIdId", (char**)kwargs,
|
|
55
|
+
&initial_delay, &maximum_delay, &backoff_exponent, &maximum_retry_time,
|
|
56
|
+
&jitter))
|
|
57
|
+
{
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
new (&(self->impl)) ReconnectDelayStrategy(
|
|
61
|
+
new AMPS::ExponentialDelayStrategy(initial_delay, maximum_delay,
|
|
62
|
+
backoff_exponent, maximum_retry_time, jitter));
|
|
63
|
+
return 0;
|
|
64
|
+
}
|
|
65
|
+
static void dtor(obj* self)
|
|
66
|
+
{
|
|
67
|
+
self->impl.~ReconnectDelayStrategy();
|
|
68
|
+
shims::free(self);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static PyObject* get_connect_wait_duration(obj* self, PyObject* args)
|
|
72
|
+
{
|
|
73
|
+
const char* uri = NULL;
|
|
74
|
+
if (!PyArg_ParseTuple(args, "s", &uri))
|
|
75
|
+
{
|
|
76
|
+
return NULL;
|
|
77
|
+
}
|
|
78
|
+
CALL_RETURN_SIZE_T( self->impl.getConnectWaitDuration(uri) );
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
static PyObject* reset(obj* self, PyObject* args)
|
|
82
|
+
{
|
|
83
|
+
self->impl.reset();
|
|
84
|
+
NONE;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static const char* docstring =
|
|
88
|
+
"ExponentialDelayStrategy is an implementation that exponentially\n"
|
|
89
|
+
"backs off when reconnecting to the same server, with a maximum\n"
|
|
90
|
+
"time to retry before it gives up entirely.\n\n"
|
|
91
|
+
"By default, an ExponentialDelayStrategy has an initial delay of\n"
|
|
92
|
+
"200 ms, a maximum delay of 20 seconds, a backoff exponent of\n"
|
|
93
|
+
"2.0, and has no limit to the amount of time to retry the connection.\n"
|
|
94
|
+
"\n"
|
|
95
|
+
"Constructor parameters:\n\n"
|
|
96
|
+
":param initial_delay: The time (in milliseconds) to wait before\n"
|
|
97
|
+
" reconnecting to a server for the first\n"
|
|
98
|
+
" time after a failed connection.\n\n"
|
|
99
|
+
":param maximum_delay: The maximum time to wait for any reconnect\n"
|
|
100
|
+
" attempt (milliseconds). Exponential\n"
|
|
101
|
+
" backoff will not exceed this maximum.\n\n"
|
|
102
|
+
":param backoff_exponent: The exponent to use for calculating the\n"
|
|
103
|
+
" next delay time. For example, if the\n"
|
|
104
|
+
" initial time is 200ms and the exponent\n"
|
|
105
|
+
" is 2.0, the next delay will be 400ms,\n"
|
|
106
|
+
" then 800ms, etc.\n\n"
|
|
107
|
+
":param maximum_retry_time: The maximum time (milliseconds) to allow\n"
|
|
108
|
+
" reconnect attempts to continue without\n"
|
|
109
|
+
" a successful connection, before \"giving\n"
|
|
110
|
+
" up\" and abandoning the connection attempt.\n\n"
|
|
111
|
+
":param jitter: The amount of 'jitter' to apply when\n"
|
|
112
|
+
" calculating a delay time, measured in multiples\n"
|
|
113
|
+
" of the initial delay. Jitter is used to reduce\n"
|
|
114
|
+
" the number of simultaneous reconnects that may\n"
|
|
115
|
+
" be issued from multiple clients.\n\n\n";
|
|
116
|
+
|
|
117
|
+
void add_types(PyObject* module_)
|
|
118
|
+
{
|
|
119
|
+
type.setName("AMPS.ExponentialDelayStrategy")
|
|
120
|
+
.setBasicSize(sizeof(obj))
|
|
121
|
+
.setDestructorFunction(dtor)
|
|
122
|
+
.setConstructorFunction(ctor)
|
|
123
|
+
.setBaseType()
|
|
124
|
+
.setDoc(docstring)
|
|
125
|
+
.notCopyable()
|
|
126
|
+
.addMethod("get_connect_wait_duration", get_connect_wait_duration,
|
|
127
|
+
"Returns the time that the client should delay before connecting "
|
|
128
|
+
"to the given server URI.")
|
|
129
|
+
.addMethod("reset", reset, "Reset the state of this reconnect delay. AMPS calls this "
|
|
130
|
+
"method when a connection is established.")
|
|
131
|
+
.createType()
|
|
132
|
+
.registerType("ExponentialDelayStrategy", module_);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
} // namespace exponentialdelaystrategy
|
|
136
|
+
|
|
137
|
+
} // namespace ampspy
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2016-2023 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
|
+
namespace ampspy
|
|
32
|
+
{
|
|
33
|
+
PyFailedWriteHandler::PyFailedWriteHandler(PyObject* self_)
|
|
34
|
+
: _self(self_), _newStyle(true), _message(NULL)
|
|
35
|
+
{
|
|
36
|
+
LOCKGIL;
|
|
37
|
+
Py_INCREF(_self);
|
|
38
|
+
_message = (ampspy::message::obj*)_PyObject_New(ampspy::message::message_type);
|
|
39
|
+
_message->isOwned = false;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
PyFailedWriteHandler::~PyFailedWriteHandler()
|
|
43
|
+
{
|
|
44
|
+
// we need a python thread state in order to do this
|
|
45
|
+
try
|
|
46
|
+
{
|
|
47
|
+
LOCKGIL;
|
|
48
|
+
Py_DECREF(_self);
|
|
49
|
+
}
|
|
50
|
+
catch (...)
|
|
51
|
+
{
|
|
52
|
+
// LOCKGIL will throw if python is shutting down; avoid this.
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
void
|
|
57
|
+
PyFailedWriteHandler::failedWrite(const AMPS::Message& message_,
|
|
58
|
+
const char* reason_, size_t reasonLength_)
|
|
59
|
+
{
|
|
60
|
+
PyObject* returnValue = NULL;
|
|
61
|
+
LOCKGIL;
|
|
62
|
+
if (_newStyle)
|
|
63
|
+
{
|
|
64
|
+
_message->pMessage = (AMPS::Message*)&message_;
|
|
65
|
+
returnValue = PyObject_CallFunction(_self, (char*)"(Os#)",
|
|
66
|
+
_message, reason_, reasonLength_);
|
|
67
|
+
if (returnValue)
|
|
68
|
+
{
|
|
69
|
+
Py_XDECREF(returnValue);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (PyErr_ExceptionMatches(PyExc_TypeError))
|
|
73
|
+
{
|
|
74
|
+
// This will fall through
|
|
75
|
+
_newStyle = false;
|
|
76
|
+
PyErr_Clear();
|
|
77
|
+
}
|
|
78
|
+
else if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
79
|
+
{
|
|
80
|
+
ampspy::unhandled_exception();
|
|
81
|
+
}
|
|
82
|
+
else
|
|
83
|
+
{
|
|
84
|
+
exc::throwError();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const char* topic, *data, *correlationId;
|
|
88
|
+
size_t topicLength, dataLength, correlationIdLength;
|
|
89
|
+
message_.getRawTopic(&topic, &topicLength);
|
|
90
|
+
message_.getRawData(&data, &dataLength);
|
|
91
|
+
message_.getRawCorrelationId(&correlationId, &correlationIdLength);
|
|
92
|
+
amps_uint64_t sequence = amps_message_get_field_uint64(message_.getMessage(),
|
|
93
|
+
AMPS_Sequence);
|
|
94
|
+
returnValue = PyObject_CallFunction(_self, (char*)"(Kbs#s#s#s#)",
|
|
95
|
+
sequence,
|
|
96
|
+
(char)message_.getCommandEnum(),
|
|
97
|
+
topic, topicLength,
|
|
98
|
+
data, dataLength,
|
|
99
|
+
correlationId, correlationIdLength,
|
|
100
|
+
reason_, reasonLength_);
|
|
101
|
+
if (returnValue == NULL)
|
|
102
|
+
{
|
|
103
|
+
if (PyErr_ExceptionMatches(PyExc_SystemExit))
|
|
104
|
+
{
|
|
105
|
+
ampspy::unhandled_exception();
|
|
106
|
+
}
|
|
107
|
+
else // includes PyExc_TypeError
|
|
108
|
+
{
|
|
109
|
+
exc::throwError();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
Py_XDECREF(returnValue);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
} // namespace ampspy
|
|
116
|
+
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2010-2023 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
|
+
|
|
32
|
+
using namespace AMPS;
|
|
33
|
+
namespace ampspy
|
|
34
|
+
{
|
|
35
|
+
namespace fixbuilder
|
|
36
|
+
{
|
|
37
|
+
|
|
38
|
+
static ampspy::ampspy_type_object fixbuilder_type;
|
|
39
|
+
// def __init__(self, name):
|
|
40
|
+
static int _ctor(obj* self, PyObject* args, PyObject* kwds)
|
|
41
|
+
{
|
|
42
|
+
char fieldSep(1);
|
|
43
|
+
self->pFIXBuilder = NULL;
|
|
44
|
+
if (!PyArg_ParseTuple(args, "|c", &fieldSep))
|
|
45
|
+
{
|
|
46
|
+
return -1;
|
|
47
|
+
}
|
|
48
|
+
self->pFIXBuilder = new FIXBuilder(fieldSep);
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static void _dtor(obj* self)
|
|
53
|
+
{
|
|
54
|
+
delete self->pFIXBuilder;
|
|
55
|
+
shims::free(self);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// def append(self, tag, value, offset, length)
|
|
59
|
+
static PyObject* append(obj* self, PyObject* args)
|
|
60
|
+
{
|
|
61
|
+
int tag = 0;
|
|
62
|
+
PyObject* valObj = NULL;
|
|
63
|
+
const char* value = NULL;
|
|
64
|
+
size_t offset = 0;
|
|
65
|
+
size_t length = 0;
|
|
66
|
+
if (!PyArg_ParseTuple(args, "iO|kk", &tag, &valObj, &offset, &length))
|
|
67
|
+
{
|
|
68
|
+
return NULL;
|
|
69
|
+
}
|
|
70
|
+
PyObject* newString = NULL;
|
|
71
|
+
if (PyString_Check(valObj))
|
|
72
|
+
{
|
|
73
|
+
value = PyString_AsString(valObj);
|
|
74
|
+
}
|
|
75
|
+
else
|
|
76
|
+
{
|
|
77
|
+
newString = PyObject_Str(valObj);
|
|
78
|
+
if (newString)
|
|
79
|
+
{
|
|
80
|
+
value = PyString_AsString(newString);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (value)
|
|
84
|
+
{
|
|
85
|
+
if (length == 0)
|
|
86
|
+
{
|
|
87
|
+
std::string val(value);
|
|
88
|
+
self->pFIXBuilder->append(tag, val);
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
{
|
|
92
|
+
self->pFIXBuilder->append(tag, value, offset, length);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
Py_XDECREF(newString);
|
|
96
|
+
Py_INCREF((PyObject*)self);
|
|
97
|
+
return (PyObject*)self;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// def get_string(self)
|
|
101
|
+
static PyObject* get_string(obj* self, PyObject* args)
|
|
102
|
+
{
|
|
103
|
+
CALL_RETURN_STRING(self->pFIXBuilder->getString());
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// def reset(self)
|
|
107
|
+
static PyObject* reset(obj* self, PyObject* args)
|
|
108
|
+
{
|
|
109
|
+
CALL_RETURN_NONE(self->pFIXBuilder->reset());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static PyObject* str(PyObject* builder)
|
|
113
|
+
{
|
|
114
|
+
obj* self = (obj*)builder;
|
|
115
|
+
CALL_RETURN_STRING(self->pFIXBuilder->getString());
|
|
116
|
+
}
|
|
117
|
+
void add_types(PyObject* module_)
|
|
118
|
+
{
|
|
119
|
+
fixbuilder_type.setName("AMPS.FIXBuilder")
|
|
120
|
+
.setBasicSize(sizeof(obj))
|
|
121
|
+
.setDestructorFunction(_dtor)
|
|
122
|
+
.setConstructorFunction(_ctor)
|
|
123
|
+
.setStrFunction(str)
|
|
124
|
+
.setReprFunction(str)
|
|
125
|
+
.setBaseType()
|
|
126
|
+
.setDoc("AMPS FIXBuilder Object")
|
|
127
|
+
.addMethod("append", append,
|
|
128
|
+
"append(tag,value,(optional)offset,(optional)length)\n\nAppends tag=value to self.\n"
|
|
129
|
+
":param tag: The numeric tag to use.\n:type tag: int\n"
|
|
130
|
+
":param value: The value for the given tag.\n:type value: str\n"
|
|
131
|
+
":param offset: Optional. The offset into value at which the value actually starts.\n:type offset: int\n"
|
|
132
|
+
":param length: Optional. The length of the actual value within value. Only valid and required if offset is also provided\n:type tag: int\n")
|
|
133
|
+
.addMethod("get_string", get_string,
|
|
134
|
+
"get_string()\n\n"
|
|
135
|
+
"Called to get the string FIX message.\n\n"
|
|
136
|
+
":returns: The FIX message as a string.\n")
|
|
137
|
+
.addMethod("reset", reset,
|
|
138
|
+
"reset()\n\n"
|
|
139
|
+
"Called to clear the state of the FIXBuilder to create a new FIX message\n")
|
|
140
|
+
.notCopyable()
|
|
141
|
+
.createType()
|
|
142
|
+
.registerType("FIXBuilder", module_);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
} // namespace fixbuilder
|
|
146
|
+
} // namespace ampspy
|